THDMcache.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "THDMcache.h"
9 #include <fstream>
10 #include "gslpp.h"
11 #include <sstream>
12 #include <string>
13 
14 #include "log_cs_ggH_13.h"
15 
17 
18  :br_tt(19961, 2, 0.),
19  br_bb(19961, 2, 0.),
20  br_tautau(19961, 2, 0.),
21  br_cc(19961, 2, 0.),
22  br_mumu(19961, 2, 0.),
23  br_ZZ(19961, 2, 0.),
24  br_WW(19961, 2, 0.),
25  GammaHtot_SM(19961, 2, 0.),
26  log_cs_ggH_8(199, 2, 0.),
27  log_cs_VBF_8(199, 2, 0.),
28  log_cs_WH_8(199, 2, 0.),
29  log_cs_ZH_8(199, 2, 0.),
30  log_cs_ggH_13(199, 2, 0.),
31  log_cs_VBF_13(199, 2, 0.),
32  log_cs_WH_13(199, 2, 0.),
33  log_cs_ZH_13(199, 2, 0.),
34  log_cs_ttH_8(199, 2, 0.),
35  log_cs_ttH_13(199, 2, 0.),
36  log_cs_bbH_8(199, 2, 0.),
37  log_cs_bbH_13(199, 2, 0.),
38  log_cs_ggA_8(199, 2, 0.),
39  log_cs_ttA_8(199, 2, 0.),
40  log_cs_bbA_8(199, 2, 0.),
41  log_cs_ggA_13(199, 2, 0.),
42  log_cs_ttA_13(199, 2, 0.),
43  log_cs_bbA_13(199, 2, 0.),
44  log_cs_ggHp_8(744, 3, 0.),
45  log_cs_ggHp_13(1104, 3, 0.),
46  csrH_top_8(199, 2, 0.),
47  csrH_bottom_8(199, 2, 0.),
48  csrA_top_8(199, 2, 0.),
49  csrA_bottom_8(199, 2, 0.),
50  csrH_top_13(199, 2, 0.),
51  csrH_bottom_13(199, 2, 0.),
52  csrA_top_13(199, 2, 0.),
53  csrA_bottom_13(199, 2, 0.),
54  ATLAS8_pp_phi_gaga(108, 2, 0.),
55  ATLAS8_pp_phi_Zga_llga(141, 2, 0.),
56  ATLAS8_gg_phi_tautau(92, 2, 0.),
57  ATLAS8_bb_phi_tautau(92, 2, 0.),
58  ATLAS8_gg_A_hZ_tautauZ(79, 2, 0.),
59  ATLAS8_gg_A_hZ_bbZ(79, 2, 0.),
60  ATLAS8_gg_phi_tt(53, 2, 0.),
61  ATLAS8_gg_H_WW(13,2,0.),
62  ATLAS8_VBF_H_WW(13,2,0.),
63  ATLAS8_gg_H_ZZ(173,2,0.),
64  ATLAS8_VBF_H_ZZ(173,2,0.),
65  ATLAS8_gg_H_hh(75,2,0.),
66  ATLAS8_pp_phi_gaga_e(108, 2, 0.),
67  ATLAS8_pp_phi_Zga_llga_e(141, 2, 0.),
68  ATLAS8_gg_phi_tautau_e(92, 2, 0.),
69  ATLAS8_bb_phi_tautau_e(92, 2, 0.),
70  ATLAS8_gg_A_hZ_tautauZ_e(79, 2, 0.),
71  ATLAS8_gg_A_hZ_bbZ_e(79, 2, 0.),
72  ATLAS8_gg_phi_tt_e(53, 2, 0.),
73  ATLAS8_gg_H_WW_e(13,2,0.),
74  ATLAS8_VBF_H_WW_e(13,2,0.),
75  ATLAS8_gg_H_ZZ_e(173,2,0.),
76  ATLAS8_VBF_H_ZZ_e(173,2,0.),
77  ATLAS8_gg_H_hh_e(75,2,0.),
78  CMS8_mu_pp_H_VV(172, 2, 0.),
79  CMS8_mu_pp_H_VV_e(172, 2, 0.),
80  CMS8_gg_A_hZ_bbll(16, 2, 0.),
81  CMS8_pp_H_hh(71, 2, 0.),
82  CMS8_pp_H_hh_gagabb(85, 2, 0.),
83  CMS8_pp_H_hh_bbbb(167, 2, 0.),
84  CMS8_bb_phi_bb(81, 2, 0.),
85  CMS8_gg_phi_tautau(92,2,0.),
86  CMS8_bb_phi_tautau(92,2,0.),
87  CMS8_gg_phi_gaga(141,2,0.),
88  CMS8_pp_A_Zga_llga(101,2,0.),
89  CMS8_pp_phi_Zga(101,2,0.),
90  CMS8_gg_H_hh_bbtautau(10,2,0.),
91  CMS8_gg_A_hZ_tautaull(14,2,0.),
92  CMS8_pp_A_HZ_bbll(28718, 3, 0.),
93  CMS8_pp_H_AZ_bbll(29050, 3, 0.),
94  CMS8_pp_A_HZ_tautaull(400, 3, 0.),
95  CMS8_pp_H_AZ_tautaull(400, 3, 0.),
96  CMS8_gg_A_hZ_bbll_e(16, 2, 0.),
97  CMS8_pp_H_hh_e(71, 2, 0.),
98  CMS8_pp_H_hh_gagabb_e(85, 2, 0.),
99  CMS8_pp_H_hh_bbbb_e(167, 2, 0.),
100  CMS8_bb_phi_bb_e(81, 2, 0.),
101  CMS8_gg_phi_tautau_e(92,2,0.),
102  CMS8_bb_phi_tautau_e(92,2,0.),
103  CMS8_gg_phi_gaga_e(141,2,0.),
104  CMS8_pp_A_Zga_llga_e(101,2,0.),
105  CMS8_gg_H_hh_bbtautau_e(10,2,0.),
106  CMS8_gg_A_hZ_tautaull_e(14,2,0.),
107 // CMS_ggF_phi_gaga_ep1(141,2,0.),
108 // CMS_gg_phi_gaga_ep2(141,2,0.),
109 // CMS_ggF_phi_gaga_em1(141,2,0.),
110 // CMS_ggF_phi_gaga_em2(141,2,0.),
111  ATLAS13_bb_phi_tt(61,2,0.),
112  ATLAS13_tt_phi_tt(61,2,0.),
113  ATLAS13_gg_phi_tautau(206,2,0.),
114  ATLAS13_bb_phi_tautau(206,2,0.),
115  ATLAS13_pp_phi_gaga(251,2,0.),
116  ATLAS13_pp_phi_Zga(216,2,0.),
117  ATLAS13_gg_phi_Zga_llga(216,2,0.),
118  ATLAS13_gg_H_ZZ_llllnunu(101,2,0.),
119  ATLAS13_VBF_H_ZZ_llllnunu(101,2,0.),
120  ATLAS13_gg_H_ZZ_llnunu(71,2,0.),
121  ATLAS13_gg_H_ZZ_llll(81,2,0.),
122  ATLAS13_VBF_H_ZZ_llll(81,2,0.),
123  ATLAS13_gg_H_ZZ_qqllnunu(271,2,0.),
124  ATLAS13_VBF_H_ZZ_qqllnunu(271,2,0.),
125  ATLAS13_gg_H_ZZ_llqq(271,2,0.),
126  ATLAS13_VBF_H_ZZ_llqq(271,2,0.),
127  ATLAS13_gg_H_ZZ_nunuqq(251,2,0.),
128  ATLAS13_gg_H_WW_enumumu(381,2,0.),
129  ATLAS13_VBF_H_WW_enumumu(281,2,0.),
130  ATLAS13_gg_H_WW_lnuqq(271,2,0.),
131  ATLAS13_VBF_H_WW_lnuqq(271,2,0.),
132  ATLAS13_pp_H_VV_qqqq(181,2,0.),
133  ATLAS13_pp_H_hh_bbbb(271,2,0.),
134  ATLAS13_pp_H_hh_gagabb(26,2,0.),
135  ATLAS13_pp_H_hh_gagaWW(25,2,0.),
136  ATLAS13_gg_A_Zh_Zbb(181,2,0.),
137  ATLAS13_bb_A_Zh_Zbb(181,2,0.),
138  ATLAS13_bb_phi_tt_e(61,2,0.),
139  ATLAS13_tt_phi_tt_e(61,2,0.),
140  ATLAS13_gg_phi_tautau_e(206,2,0.),
141  ATLAS13_bb_phi_tautau_e(206,2,0.),
142  ATLAS13_pp_phi_gaga_e(251,2,0.),
143  ATLAS13_pp_phi_Zga_e(216,2,0.),
144  ATLAS13_gg_phi_Zga_llga_e(216,2,0.),
145  ATLAS13_gg_H_ZZ_llllnunu_e(101,2,0.),
146  ATLAS13_VBF_H_ZZ_llllnunu_e(101,2,0.),
147  ATLAS13_gg_H_ZZ_llnunu_e(71,2,0.),
148  ATLAS13_gg_H_ZZ_llll_e(81,2,0.),
149  ATLAS13_VBF_H_ZZ_llll_e(81,2,0.),
150  ATLAS13_gg_H_ZZ_qqllnunu_e(271,2,0.),
151  ATLAS13_VBF_H_ZZ_qqllnunu_e(271,2,0.),
152  ATLAS13_gg_H_ZZ_llqq_e(271,2,0.),
153  ATLAS13_VBF_H_ZZ_llqq_e(271,2,0.),
154  ATLAS13_gg_H_ZZ_nunuqq_e(251,2,0.),
155  ATLAS13_gg_H_WW_enumumu_e(381,2,0.),
156  ATLAS13_VBF_H_WW_enumumu_e(281,2,0.),
157  ATLAS13_gg_H_WW_lnuqq_e(271,2,0.),
158  ATLAS13_VBF_H_WW_lnuqq_e(271,2,0.),
159  ATLAS13_pp_H_VV_qqqq_e(181,2,0.),
160  ATLAS13_pp_H_hh_bbbb_e(271,2,0.),
161  ATLAS13_pp_H_hh_gagabb_e(26,2,0.),
162  ATLAS13_pp_H_hh_gagaWW_e(25,2,0.),
163  ATLAS13_gg_A_Zh_Zbb_e(181,2,0.),
164  ATLAS13_bb_A_Zh_Zbb_e(181,2,0.),
165  CMS13_pp_phi_bb(66,2,0.),
166  CMS13_gg_phi_tautau(312,2,0.),
167  CMS13_bb_phi_tautau(312,2,0.),
168  CMS13_gg_phi_gaga(351,2,0.),
169  CMS13_pp_phi_Zga_llga(171,2,0.),
170  CMS13_pp_phi_Zga_qqga(236,2,0.),
171  CMS13_ggF_phi_Zga(366,2,0.),
172  CMS13_pp_H_ZZ_llnunu(191,2,0.),
173  CMS13_gg_H_ZZ_llnunu(131,2,0.),
174  CMS13_VBF_H_ZZ_llnunu(131,2,0.),
175  CMS13_pp_H_ZZ_llll(241,2,0.),
176  CMS13_VBFVH_H_ZZ_llll(241,2,0.),
177  CMS13_pp_H_ZZ_llqq(151,2,0.),
178  CMS13_ggFVBF_H_WW_lnulnu(81,2,0.),
179  CMS13_pp_H_hh_bbbb(95,2,0.),
180  CMS13_ggF_H_hh_bbbb(226,2,0.),
181  CMS13_pp_H_hh_gagabb(66,2,0.),
182  CMS13_pp_H_hh_bbtautau(66,2,0.),
183  CMS13_pp_H_hh_bbtautau1(66,2,0.),
184  CMS13_pp_H_hh_bblnulnu(65,2,0.),
185  CMS13_pp_H_hh_bbVV(65,2,0.),
186  CMS13_pp_phi_bb_e(66,2,0.),
187  CMS13_gg_phi_tautau_e(312,2,0.),
188  CMS13_bb_phi_tautau_e(312,2,0.),
189  CMS13_gg_phi_gaga_e(351,2,0.),
190  CMS13_pp_phi_Zga_llga_e(171,2,0.),
191  CMS13_pp_phi_Zga_qqga_e(236,2,0.),
192  CMS13_ggF_phi_Zga_e(366,2,0.),
193  CMS13_pp_H_ZZ_llnunu_e(191,2,0.),
194  CMS13_gg_H_ZZ_llnunu_e(131,2,0.),
195  CMS13_VBF_H_ZZ_llnunu_e(131,2,0.),
196  CMS13_pp_H_ZZ_llll_e(241,2,0.),
197  CMS13_VBFVH_H_ZZ_llll_e(241,2,0.),
198  CMS13_pp_H_ZZ_llqq_e(151,2,0.),
199  CMS13_ggFVBF_H_WW_lnulnu_e(81,2,0.),
200  CMS13_pp_H_hh_bbbb_e(95,2,0.),
201  CMS13_ggF_H_hh_bbbb_e(226,2,0.),
202  CMS13_pp_H_hh_gagabb_e(66,2,0.),
203  CMS13_pp_H_hh_bbtautau_e(66,2,0.),
204  CMS13_pp_H_hh_bbtautau1_e(66,2,0.),
205  CMS13_pp_H_hh_bblnulnu_e(65,2,0.),
206  CMS13_pp_H_hh_bbVV_e(65,2,0.),
207  temp1(1,2,0.), temp2(1,2,0.), temp3(1,2,0.), temp4(1,2,0.), temp5(1,2,0.), temp6(1,2,0.), temp7(1,2,0.), temp8(1,2,0.), temp9(1,2,0.), temp10(1,2,0.),
208  temp11(1,2,0.), temp12(1,2,0.), temp13(1,2,0.), temp14(1,2,0.), temp15(1,2,0.), temp16(1,2,0.), temp17(1,2,0.), temp18(1,2,0.), temp19(1,2,0.), temp20(1,2,0.),
209  temp21(1,2,0.), temp22(1,2,0.), temp23(1,2,0.), temp24(1,2,0.), temp25(1,2,0.), temp26(1,2,0.), temp27(1,2,0.), temp28(1,2,0.), temp29(1,2,0.), temp30(1,2,0.),
210  temp31(1,2,0.), temp32(1,2,0.), temp33(1,2,0.), temp34(1,2,0.), temp35(1,2,0.), temp36(1,2,0.), temp37(1,2,0.), temp38(1,2,0.), temp39(1,2,0.), temp40(1,2,0.),
211  temp1e(1,2,0.), temp2e(1,2,0.), temp3e(1,2,0.), temp4e(1,2,0.), temp5e(1,2,0.), temp6e(1,2,0.), temp7e(1,2,0.), temp8e(1,2,0.), temp9e(1,2,0.), temp10e(1,2,0.),
212  temp11e(1,2,0.), temp12e(1,2,0.), temp13e(1,2,0.), temp14e(1,2,0.), temp15e(1,2,0.), temp16e(1,2,0.), temp17e(1,2,0.), temp18e(1,2,0.), temp19e(1,2,0.), temp20e(1,2,0.),
213  temp21e(1,2,0.), temp22e(1,2,0.), temp23e(1,2,0.), temp24e(1,2,0.), temp25e(1,2,0.), temp26e(1,2,0.), temp27e(1,2,0.), temp28e(1,2,0.), temp29e(1,2,0.), temp30e(1,2,0.),
214  temp31e(1,2,0.), temp32e(1,2,0.), temp33e(1,2,0.), temp34e(1,2,0.), temp35e(1,2,0.), temp36e(1,2,0.), temp37e(1,2,0.), temp38e(1,2,0.), temp39e(1,2,0.), temp40e(1,2,0.),
215  ATLAS8_pp_Hpm_taunu(83,2,0.),
216  ATLAS8_pp_Hpm_tb(41,2,0.),
217  ATLAS8_pp_Hpm_taunu_e(83,2,0.),
218  ATLAS8_pp_Hpm_tb_e(41,2,0.),
219  CMS8_pp_Hp_taunu(43,2,0.),
220  CMS8_pp_Hp_tb(43,2,0.),
221  CMS8_pp_Hp_taunu_e(43,2,0.),
222  CMS8_pp_Hp_tb_e(43,2,0.),
223  ATLAS13_pp_Hpm_taunu(181,2,0.),
224  ATLAS13_pp_Hp_tb1(71,2,0.),
225  ATLAS13_pp_Hp_tb2(181,2,0.),
226  ATLAS13_pp_Hpm_taunu_e(181,2,0.),
227  ATLAS13_pp_Hp_tb1_e(71,2,0.),
228  ATLAS13_pp_Hp_tb2_e(181,2,0.),
229  CMS13_pp_Hpm_taunu(283,2,0.),
230  CMS13_pp_Hpm_taunu_e(283,2,0.),
231  arraybsgamma(1111, 3, 0.),
232  myTHDM(static_cast<const THDM*> (&SM_i)),
233  PV(true)
234 {
235  mym11_2=new m11_2(SM_i);
236  mym22_2=new m22_2(SM_i);
237  mylambda1=new lambda1(SM_i);
238  mylambda2=new lambda2(SM_i);
239  mylambda3=new lambda3(SM_i);
240  mylambda4=new lambda4(SM_i);
241  mylambda5=new lambda5(SM_i);
242  myRunner=new Runner(SM_i);
243  read();
244 }
245 
247 {
248  delete mym11_2;
249  delete mym22_2;
250  delete mylambda1;
251  delete mylambda2;
252  delete mylambda3;
253  delete mylambda4;
254  delete mylambda5;
255  delete myRunner;
256 }
257 
259 
260 int THDMcache::CacheCheck(const gslpp::complex cache[][CacheSize],
261  const int NumPar, const double params[]) const {
262  bool bCache;
263  for(int i=0; i<CacheSize; i++) {
264  bCache = true;
265  for(int j=0; j<NumPar; j++)
266  bCache &= (params[j] == cache[j][i].real());
267  if (bCache) return i;
268  }
269  return -1;
270 }
271 
272 int THDMcache::CacheCheckReal(const double cache[][CacheSize],
273  const int NumPar, const double params[]) const {
274  bool bCache;
275  for(int i=0; i<CacheSize; i++) {
276  bCache = true;
277  for(int j=0; j<NumPar; j++)
278  bCache &= (params[j] == cache[j][i]);
279  if (bCache) return i;
280  }
281  return -1;
282 }
283 
284 void THDMcache::CacheShift(gslpp::complex cache[][CacheSize], const int NumPar,
285  const double params[], const gslpp::complex newResult) const {
286  // shift old parameters and result
287  for(int i=CacheSize-1; i>0; i--)
288  for(int j=0; j<NumPar+1; j++)
289  cache[j][i] = cache[j][i-1];
290 
291  // store new parameters and result
292  for(int j=0; j<NumPar; j++) {
293  cache[j][0] = gslpp::complex(params[j], 0.0, false);
294  cache[NumPar][0] = newResult;
295  }
296 }
297 
298 void THDMcache::CacheShiftReal(double cache[][CacheSize], const int NumPar,
299  const double params[], const double newResult) const {
300  // shift old parameters and result
301  for(int i=CacheSize-1; i>0; i--)
302  for(int j=0; j<NumPar+1; j++)
303  cache[j][i] = cache[j][i-1];
304 
305  // store new parameters and result
306  for(int j=0; j<NumPar; j++) {
307  cache[j][0] = params[j];
308  cache[NumPar][0] = newResult;
309  }
310 }
311 
313 /*One-loop functions*/
315 
316 gslpp::complex THDMcache::B0_MZ2_0_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const {
317  int NumPar = 3;
318  double params[] = {MZ2, MW2, mHh2};
319 
320  int i = CacheCheck(B0_MZ2_0_MW2_mHh2_cache, NumPar, params);
321  if (i>=0) {
322  return ( B0_MZ2_0_MW2_mHh2_cache[NumPar][i] );
323  } else {
324  gslpp::complex newResult = PV.B0(MZ2, 0., MW2, mHh2);
325  CacheShift(B0_MZ2_0_MW2_mHh2_cache, NumPar, params, newResult);
326  return newResult;
327  }
328 }
329 
330 gslpp::complex THDMcache::B0_MZ2_0_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const {
331  int NumPar = 3;
332  double params[] = {MZ2, MW2, mHl2};
333 
334  int i = CacheCheck(B0_MZ2_0_MW2_mHl2_cache, NumPar, params);
335  if (i>=0) {
336  return ( B0_MZ2_0_MW2_mHl2_cache[NumPar][i] );
337  } else {
338  gslpp::complex newResult = PV.B0(MZ2, 0., MW2, mHl2);
339  CacheShift(B0_MZ2_0_MW2_mHl2_cache, NumPar, params, newResult);
340  return newResult;
341  }
342 }
343 
344 gslpp::complex THDMcache::B0_MZ2_0_MZ2_mHh2(const double MZ2, const double mHh2) const {
345  int NumPar = 2;
346  double params[] = {MZ2, mHh2};
347 
348  int i = CacheCheck(B0_MZ2_0_MZ2_mHh2_cache, NumPar, params);
349  if (i>=0) {
350  return ( B0_MZ2_0_MZ2_mHh2_cache[NumPar][i] );
351  } else {
352  gslpp::complex newResult = PV.B0(MZ2, 0., MZ2, mHh2);
353  CacheShift(B0_MZ2_0_MZ2_mHh2_cache, NumPar, params, newResult);
354  return newResult;
355  }
356 }
357 
358 gslpp::complex THDMcache::B0_MZ2_0_MZ2_mHl2(const double MZ2, const double mHl2) const {
359  int NumPar = 2;
360  double params[] = {MZ2, mHl2};
361 
362  int i = CacheCheck(B0_MZ2_0_MZ2_mHl2_cache, NumPar, params);
363  if (i>=0) {
364  return ( B0_MZ2_0_MZ2_mHl2_cache[NumPar][i] );
365  } else {
366  gslpp::complex newResult = PV.B0(MZ2, 0., MZ2, mHl2);
367  CacheShift(B0_MZ2_0_MZ2_mHl2_cache, NumPar, params, newResult);
368  return newResult;
369  }
370 }
371 
372 gslpp::complex THDMcache::B0_MZ2_MW2_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const {
373  int NumPar = 3;
374  double params[] = {MZ2, MW2, mHh2};
375 
376  int i = CacheCheck(B0_MZ2_MW2_MW2_mHh2_cache, NumPar, params);
377  if (i>=0) {
378  return ( B0_MZ2_MW2_MW2_mHh2_cache[NumPar][i] );
379  } else {
380  gslpp::complex newResult = PV.B0(MZ2, MW2, MW2, mHh2);
381  CacheShift(B0_MZ2_MW2_MW2_mHh2_cache, NumPar, params, newResult);
382  return newResult;
383  }
384 }
385 
386 gslpp::complex THDMcache::B0_MZ2_MW2_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const {
387  int NumPar = 3;
388  double params[] = {MZ2, MW2, mHl2};
389 
390  int i = CacheCheck(B0_MZ2_MW2_MW2_mHl2_cache, NumPar, params);
391  if (i>=0) {
392  return ( B0_MZ2_MW2_MW2_mHl2_cache[NumPar][i] );
393  } else {
394  gslpp::complex newResult = PV.B0(MZ2, MW2, MW2, mHl2);
395  CacheShift(B0_MZ2_MW2_MW2_mHl2_cache, NumPar, params, newResult);
396  return newResult;
397  }
398 }
399 
400 gslpp::complex THDMcache::B0_MZ2_MZ2_MZ2_mHh2(const double MZ2, const double mHh2) const {
401  int NumPar = 2;
402  double params[] = {MZ2, mHh2};
403 
404  int i = CacheCheck(B0_MZ2_MZ2_MZ2_mHh2_cache, NumPar, params);
405  if (i>=0) {
406  return ( B0_MZ2_MZ2_MZ2_mHh2_cache[NumPar][i] );
407  } else {
408  gslpp::complex newResult = PV.B0(MZ2, MZ2, MZ2, mHh2);
409  CacheShift(B0_MZ2_MZ2_MZ2_mHh2_cache, NumPar, params, newResult);
410  return newResult;
411  }
412 }
413 
414 gslpp::complex THDMcache::B0_MZ2_MZ2_MZ2_mHl2(const double MZ2, const double mHl2) const {
415  int NumPar = 2;
416  double params[] = {MZ2, mHl2};
417 
418  int i = CacheCheck(B0_MZ2_MZ2_MZ2_mHl2_cache, NumPar, params);
419  if (i>=0) {
420  return ( B0_MZ2_MZ2_MZ2_mHl2_cache[NumPar][i] );
421  } else {
422  gslpp::complex newResult = PV.B0(MZ2, MZ2, MZ2, mHl2);
423  CacheShift(B0_MZ2_MZ2_MZ2_mHl2_cache, NumPar, params, newResult);
424  return newResult;
425  }
426 }
427 
428 gslpp::complex THDMcache::B0_MZ2_0_0_mHl2(const double MZ2, const double mHl2) const {
429  int NumPar = 2;
430  double params[] = {MZ2, mHl2};
431 
432  int i = CacheCheck(B0_MZ2_0_0_mHl2_cache, NumPar, params);
433  if (i>=0) {
434  return ( B0_MZ2_0_0_mHl2_cache[NumPar][i] );
435  } else {
436  gslpp::complex newResult = PV.B0(MZ2, 0.0, 0.0, mHl2);
437  CacheShift(B0_MZ2_0_0_mHl2_cache, NumPar, params, newResult);
438  return newResult;
439  }
440 }
441 
442 gslpp::complex THDMcache::B0_MZ2_0_0_mHh2(const double MZ2, const double mHh2) const {
443  int NumPar = 2;
444  double params[] = {MZ2, mHh2};
445 
446  int i = CacheCheck(B0_MZ2_0_0_mHh2_cache, NumPar, params);
447  if (i>=0) {
448  return ( B0_MZ2_0_0_mHh2_cache[NumPar][i] );
449  } else {
450  gslpp::complex newResult = PV.B0(MZ2, 0.0, 0.0, mHh2);
451  CacheShift(B0_MZ2_0_0_mHh2_cache, NumPar, params, newResult);
452  return newResult;
453  }
454 }
455 
456 gslpp::complex THDMcache::B0_MZ2_0_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
457  int NumPar = 3;
458  double params[] = {MZ2, mHp2, mHl2};
459 
460  int i = CacheCheck(B0_MZ2_0_mHp2_mHl2_cache, NumPar, params);
461  if (i>=0) {
462  return ( B0_MZ2_0_mHp2_mHl2_cache[NumPar][i] );
463  } else {
464  gslpp::complex newResult = PV.B0(MZ2, 0.0, mHp2, mHl2);
465  CacheShift(B0_MZ2_0_mHp2_mHl2_cache, NumPar, params, newResult);
466  return newResult;
467  }
468 }
469 
470 gslpp::complex THDMcache::B0_MZ2_0_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
471  int NumPar = 3;
472  double params[] = {MZ2, mHp2, mHh2};
473 
474  int i = CacheCheck(B0_MZ2_0_mHp2_mHh2_cache, NumPar, params);
475  if (i>=0) {
476  return ( B0_MZ2_0_mHp2_mHh2_cache[NumPar][i] );
477  } else {
478  gslpp::complex newResult = PV.B0(MZ2, 0.0, mHp2, mHh2);
479  CacheShift(B0_MZ2_0_mHp2_mHh2_cache, NumPar, params, newResult);
480  return newResult;
481  }
482 }
483 
484 gslpp::complex THDMcache::B0_MZ2_0_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const {
485  int NumPar = 3;
486  double params[] = {MZ2, mA2, mHl2};
487 
488  int i = CacheCheck(B0_MZ2_0_mA2_mHl2_cache, NumPar, params);
489  if (i>=0) {
490  return ( B0_MZ2_0_mA2_mHl2_cache[NumPar][i] );
491  } else {
492  gslpp::complex newResult = PV.B0(MZ2, 0.0, mA2, mHl2);
493  CacheShift(B0_MZ2_0_mA2_mHl2_cache, NumPar, params, newResult);
494  return newResult;
495  }
496 }
497 
498 gslpp::complex THDMcache::B0_MZ2_0_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const {
499  int NumPar = 3;
500  double params[] = {MZ2, mA2, mHh2};
501 
502  int i = CacheCheck(B0_MZ2_0_mA2_mHh2_cache, NumPar, params);
503  if (i>=0) {
504  return ( B0_MZ2_0_mA2_mHh2_cache[NumPar][i] );
505  } else {
506  gslpp::complex newResult = PV.B0(MZ2, 0.0, mA2, mHh2);
507  CacheShift(B0_MZ2_0_mA2_mHh2_cache, NumPar, params, newResult);
508  return newResult;
509  }
510 }
511 
512 gslpp::complex THDMcache::B0_MZ2_mHl2_0_0(const double MZ2, const double mHl2) const {
513  int NumPar = 2;
514  double params[] = {MZ2, mHl2};
515 
516  int i = CacheCheck(B0_MZ2_mHl2_0_0_cache, NumPar, params);
517  if (i>=0) {
518  return ( B0_MZ2_mHl2_0_0_cache[NumPar][i] );
519  } else {
520  gslpp::complex newResult = PV.B0(MZ2, mHl2, 0.0, 0.0);
521  CacheShift(B0_MZ2_mHl2_0_0_cache, NumPar, params, newResult);
522  return newResult;
523  }
524 }
525 
526 gslpp::complex THDMcache::B0_MZ2_mHl2_0_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
527  int NumPar = 3;
528  double params[] = {MZ2, mHl2, mHp2};
529 
530  int i = CacheCheck(B0_MZ2_mHl2_0_mHp2_cache, NumPar, params);
531  if (i>=0) {
532  return ( B0_MZ2_mHl2_0_mHp2_cache[NumPar][i] );
533  } else {
534  gslpp::complex newResult = PV.B0(MZ2, mHl2, 0.0, mHp2);
535  CacheShift(B0_MZ2_mHl2_0_mHp2_cache, NumPar, params, newResult);
536  return newResult;
537  }
538 }
539 
540 gslpp::complex THDMcache::B0_MZ2_mHl2_0_mA2(const double MZ2, const double mHl2, const double mA2) const {
541  int NumPar = 3;
542  double params[] = {MZ2, mHl2, mA2};
543 
544  int i = CacheCheck(B0_MZ2_mHl2_0_mA2_cache, NumPar, params);
545  if (i>=0) {
546  return ( B0_MZ2_mHl2_0_mA2_cache[NumPar][i] );
547  } else {
548  gslpp::complex newResult = PV.B0(MZ2, mHl2, 0.0, mA2);
549  CacheShift(B0_MZ2_mHl2_0_mA2_cache, NumPar, params, newResult);
550  return newResult;
551  }
552 }
553 
554 gslpp::complex THDMcache::B0_MZ2_mHl2_mHl2_mHl2(const double MZ2, const double mHl2) const {
555  int NumPar = 2;
556  double params[] = {MZ2, mHl2};
557 
558  int i = CacheCheck(B0_MZ2_mHl2_mHl2_mHl2_cache, NumPar, params);
559  if (i>=0) {
560  return ( B0_MZ2_mHl2_mHl2_mHl2_cache[NumPar][i] );
561  } else {
562  gslpp::complex newResult = PV.B0(MZ2, mHl2, mHl2, mHl2);
563  CacheShift(B0_MZ2_mHl2_mHl2_mHl2_cache, NumPar, params, newResult);
564  return newResult;
565  }
566 }
567 
568 gslpp::complex THDMcache::B0_MZ2_mHl2_mHh2_mHl2(const double MZ2, const double mHl2, const double mHh2) const {
569  int NumPar = 3;
570  double params[] = {MZ2, mHl2, mHh2};
571 
572  int i = CacheCheck(B0_MZ2_mHl2_mHh2_mHl2_cache, NumPar, params);
573  if (i>=0) {
574  return ( B0_MZ2_mHl2_mHh2_mHl2_cache[NumPar][i] );
575  } else {
576  gslpp::complex newResult = PV.B0(MZ2, mHl2, mHh2, mHl2);
577  CacheShift(B0_MZ2_mHl2_mHh2_mHl2_cache, NumPar, params, newResult);
578  return newResult;
579  }
580 }
581 
582 gslpp::complex THDMcache::B0_MZ2_mHl2_mHh2_mHh2(const double MZ2, const double mHl2, const double mHh2) const {
583  int NumPar = 3;
584  double params[] = {MZ2, mHl2, mHh2};
585 
586  int i = CacheCheck(B0_MZ2_mHl2_mHh2_mHh2_cache, NumPar, params);
587  if (i>=0) {
588  return ( B0_MZ2_mHl2_mHh2_mHh2_cache[NumPar][i] );
589  } else {
590  gslpp::complex newResult = PV.B0(MZ2, mHl2, mHh2, mHh2);
591  CacheShift(B0_MZ2_mHl2_mHh2_mHh2_cache, NumPar, params, newResult);
592  return newResult;
593  }
594 }
595 
596 gslpp::complex THDMcache::B0_MZ2_mHl2_mHp2_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
597  int NumPar = 3;
598  double params[] = {MZ2, mHl2, mHp2};
599 
600  int i = CacheCheck(B0_MZ2_mHl2_mHp2_mHp2_cache, NumPar, params);
601  if (i>=0) {
602  return ( B0_MZ2_mHl2_mHp2_mHp2_cache[NumPar][i] );
603  } else {
604  gslpp::complex newResult = PV.B0(MZ2, mHl2, mHp2, mHp2);
605  CacheShift(B0_MZ2_mHl2_mHp2_mHp2_cache, NumPar, params, newResult);
606  return newResult;
607  }
608 }
609 
610 gslpp::complex THDMcache::B0_MZ2_mHl2_mA2_mA2(const double MZ2, const double mHl2, const double mA2) const {
611  int NumPar = 3;
612  double params[] = {MZ2, mHl2, mA2};
613 
614  int i = CacheCheck(B0_MZ2_mHl2_mA2_mA2_cache, NumPar, params);
615  if (i>=0) {
616  return ( B0_MZ2_mHl2_mA2_mA2_cache[NumPar][i] );
617  } else {
618  gslpp::complex newResult = PV.B0(MZ2, mHl2, mA2, mA2);
619  CacheShift(B0_MZ2_mHl2_mA2_mA2_cache, NumPar, params, newResult);
620  return newResult;
621  }
622 }
623 
624 gslpp::complex THDMcache::B0_MZ2_mHh2_0_0(const double MZ2, const double mHh2) const {
625  int NumPar = 2;
626  double params[] = {MZ2, mHh2};
627 
628  int i = CacheCheck(B0_MZ2_mHh2_0_0_cache, NumPar, params);
629  if (i>=0) {
630  return ( B0_MZ2_mHh2_0_0_cache[NumPar][i] );
631  } else {
632  gslpp::complex newResult = PV.B0(MZ2, mHh2, 0.0, 0.0);
633  CacheShift(B0_MZ2_mHh2_0_0_cache, NumPar, params, newResult);
634  return newResult;
635  }
636 }
637 
638 gslpp::complex THDMcache::B0_MZ2_mHh2_0_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
639  int NumPar = 3;
640  double params[] = {MZ2, mHh2, mHp2};
641 
642  int i = CacheCheck(B0_MZ2_mHh2_0_mHp2_cache, NumPar, params);
643  if (i>=0) {
644  return ( B0_MZ2_mHh2_0_mHp2_cache[NumPar][i] );
645  } else {
646  gslpp::complex newResult = PV.B0(MZ2, mHh2, 0.0, mHp2);
647  CacheShift(B0_MZ2_mHh2_0_mHp2_cache, NumPar, params, newResult);
648  return newResult;
649  }
650 }
651 
652 gslpp::complex THDMcache::B0_MZ2_mHh2_0_mA2(const double MZ2, const double mHh2, const double mA2) const {
653  int NumPar = 3;
654  double params[] = {MZ2, mHh2, mA2};
655 
656  int i = CacheCheck(B0_MZ2_mHh2_0_mA2_cache, NumPar, params);
657  if (i>=0) {
658  return ( B0_MZ2_mHh2_0_mA2_cache[NumPar][i] );
659  } else {
660  gslpp::complex newResult = PV.B0(MZ2, mHh2, 0.0, mA2);
661  CacheShift(B0_MZ2_mHh2_0_mA2_cache, NumPar, params, newResult);
662  return newResult;
663  }
664 }
665 
666 gslpp::complex THDMcache::B0_MZ2_mHh2_mHl2_mHl2(const double MZ2, const double mHh2, const double mHl2) const {
667  int NumPar = 3;
668  double params[] = {MZ2, mHh2, mHl2};
669 
670  int i = CacheCheck(B0_MZ2_mHh2_mHl2_mHl2_cache, NumPar, params);
671  if (i>=0) {
672  return ( B0_MZ2_mHh2_mHl2_mHl2_cache[NumPar][i] );
673  } else {
674  gslpp::complex newResult = PV.B0(MZ2, mHh2, mHl2, mHl2);
675  CacheShift(B0_MZ2_mHh2_mHl2_mHl2_cache, NumPar, params, newResult);
676  return newResult;
677  }
678 }
679 
680 gslpp::complex THDMcache::B0_MZ2_mHh2_mHh2_mHl2(const double MZ2, const double mHh2, const double mHl2) const {
681  int NumPar = 3;
682  double params[] = {MZ2, mHh2, mHl2};
683 
684  int i = CacheCheck(B0_MZ2_mHh2_mHh2_mHl2_cache, NumPar, params);
685  if (i>=0) {
686  return ( B0_MZ2_mHh2_mHh2_mHl2_cache[NumPar][i] );
687  } else {
688  gslpp::complex newResult = PV.B0(MZ2, mHh2, mHh2, mHl2);
689  CacheShift(B0_MZ2_mHh2_mHh2_mHl2_cache, NumPar, params, newResult);
690  return newResult;
691  }
692 }
693 
694 gslpp::complex THDMcache::B0_MZ2_mHh2_mHh2_mHh2(const double MZ2, const double mHh2) const {
695  int NumPar = 2;
696  double params[] = {MZ2, mHh2};
697 
698  int i = CacheCheck(B0_MZ2_mHh2_mHh2_mHh2_cache, NumPar, params);
699  if (i>=0) {
700  return ( B0_MZ2_mHh2_mHh2_mHh2_cache[NumPar][i] );
701  } else {
702  gslpp::complex newResult = PV.B0(MZ2, mHh2, mHh2, mHh2);
703  CacheShift(B0_MZ2_mHh2_mHh2_mHh2_cache, NumPar, params, newResult);
704  return newResult;
705  }
706 }
707 
708 gslpp::complex THDMcache::B0_MZ2_mHh2_mHp2_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
709  int NumPar = 3;
710  double params[] = {MZ2, mHh2, mHp2};
711 
712  int i = CacheCheck(B0_MZ2_mHh2_mHp2_mHp2_cache, NumPar, params);
713  if (i>=0) {
714  return ( B0_MZ2_mHh2_mHp2_mHp2_cache[NumPar][i] );
715  } else {
716  gslpp::complex newResult = PV.B0(MZ2, mHh2, mHp2, mHp2);
717  CacheShift(B0_MZ2_mHh2_mHp2_mHp2_cache, NumPar, params, newResult);
718  return newResult;
719  }
720 }
721 
722 gslpp::complex THDMcache::B0_MZ2_mHh2_mA2_mA2(const double MZ2, const double mHh2, const double mA2) const {
723  int NumPar = 3;
724  double params[] = {MZ2, mHh2, mA2};
725 
726  int i = CacheCheck(B0_MZ2_mHh2_mA2_mA2_cache, NumPar, params);
727  if (i>=0) {
728  return ( B0_MZ2_mHh2_mA2_mA2_cache[NumPar][i] );
729  } else {
730  gslpp::complex newResult = PV.B0(MZ2, mHh2, mA2, mA2);
731  CacheShift(B0_MZ2_mHh2_mA2_mA2_cache, NumPar, params, newResult);
732  return newResult;
733  }
734 }
735 
736 gslpp::complex THDMcache::B0_MZ2_mHp2_0_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
737  int NumPar = 3;
738  double params[] = {MZ2, mHp2, mHl2};
739 
740  int i = CacheCheck(B0_MZ2_mHp2_0_mHl2_cache, NumPar, params);
741  if (i>=0) {
742  return ( B0_MZ2_mHp2_0_mHl2_cache[NumPar][i] );
743  } else {
744  gslpp::complex newResult = PV.B0(MZ2, mHp2, 0.0, mHl2);
745  CacheShift(B0_MZ2_mHp2_0_mHl2_cache, NumPar, params, newResult);
746  return newResult;
747  }
748 }
749 
750 gslpp::complex THDMcache::B0_MZ2_mHp2_0_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
751  int NumPar = 3;
752  double params[] = {MZ2, mHp2, mHh2};
753 
754  int i = CacheCheck(B0_MZ2_mHp2_0_mHh2_cache, NumPar, params);
755  if (i>=0) {
756  return ( B0_MZ2_mHp2_0_mHh2_cache[NumPar][i] );
757  } else {
758  gslpp::complex newResult = PV.B0(MZ2, mHp2, 0.0, mHh2);
759  CacheShift(B0_MZ2_mHp2_0_mHh2_cache, NumPar, params, newResult);
760  return newResult;
761  }
762 }
763 
764 gslpp::complex THDMcache::B0_MZ2_mHp2_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
765  int NumPar = 3;
766  double params[] = {MZ2, mHp2, mHl2};
767 
768  int i = CacheCheck(B0_MZ2_mHp2_mHp2_mHl2_cache, NumPar, params);
769  if (i>=0) {
770  return ( B0_MZ2_mHp2_mHp2_mHl2_cache[NumPar][i] );
771  } else {
772  gslpp::complex newResult = PV.B0(MZ2, mHp2, mHp2, mHl2);
773  CacheShift(B0_MZ2_mHp2_mHp2_mHl2_cache, NumPar, params, newResult);
774  return newResult;
775  }
776 }
777 
778 gslpp::complex THDMcache::B0_MZ2_mHp2_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
779  int NumPar = 3;
780  double params[] = {MZ2, mHp2, mHh2};
781 
782  int i = CacheCheck(B0_MZ2_mHp2_mHp2_mHh2_cache, NumPar, params);
783  if (i>=0) {
784  return ( B0_MZ2_mHp2_mHp2_mHh2_cache[NumPar][i] );
785  } else {
786  gslpp::complex newResult = PV.B0(MZ2, mHp2, mHp2, mHh2);
787  CacheShift(B0_MZ2_mHp2_mHp2_mHh2_cache, NumPar, params, newResult);
788  return newResult;
789  }
790 }
791 
792 gslpp::complex THDMcache::B0_MZ2_mA2_0_mHl2(const double MZ2, const double mA2, const double mHl2) const {
793  int NumPar = 3;
794  double params[] = {MZ2, mA2, mHl2};
795 
796  int i = CacheCheck(B0_MZ2_mA2_0_mHl2_cache, NumPar, params);
797  if (i>=0) {
798  return ( B0_MZ2_mA2_0_mHl2_cache[NumPar][i] );
799  } else {
800  gslpp::complex newResult = PV.B0(MZ2, mA2, 0.0, mHl2);
801  CacheShift(B0_MZ2_mA2_0_mHl2_cache, NumPar, params, newResult);
802  return newResult;
803  }
804 }
805 
806 gslpp::complex THDMcache::B0_MZ2_mA2_0_mHh2(const double MZ2, const double mA2, const double mHh2) const {
807  int NumPar = 3;
808  double params[] = {MZ2, mA2, mHh2};
809 
810  int i = CacheCheck(B0_MZ2_mA2_0_mHh2_cache, NumPar, params);
811  if (i>=0) {
812  return ( B0_MZ2_mA2_0_mHh2_cache[NumPar][i] );
813  } else {
814  gslpp::complex newResult = PV.B0(MZ2, mA2, 0.0, mHh2);
815  CacheShift(B0_MZ2_mA2_0_mHh2_cache, NumPar, params, newResult);
816  return newResult;
817  }
818 }
819 
820 gslpp::complex THDMcache::B0_MZ2_mA2_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const {
821  int NumPar = 3;
822  double params[] = {MZ2, mA2, mHl2};
823 
824  int i = CacheCheck(B0_MZ2_mA2_mA2_mHl2_cache, NumPar, params);
825  if (i>=0) {
826  return ( B0_MZ2_mA2_mA2_mHl2_cache[NumPar][i] );
827  } else {
828  gslpp::complex newResult = PV.B0(MZ2, mA2, mA2, mHl2);
829  CacheShift(B0_MZ2_mA2_mA2_mHl2_cache, NumPar, params, newResult);
830  return newResult;
831  }
832 }
833 
834 gslpp::complex THDMcache::B0_MZ2_mA2_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const {
835  int NumPar = 3;
836  double params[] = {MZ2, mA2, mHh2};
837 
838  int i = CacheCheck(B0_MZ2_mA2_mA2_mHh2_cache, NumPar, params);
839  if (i>=0) {
840  return ( B0_MZ2_mA2_mA2_mHh2_cache[NumPar][i] );
841  } else {
842  gslpp::complex newResult = PV.B0(MZ2, mA2, mA2, mHh2);
843  CacheShift(B0_MZ2_mA2_mA2_mHh2_cache, NumPar, params, newResult);
844  return newResult;
845  }
846 }
847 
849 
850 gslpp::complex THDMcache::B0p_MZ2_0_0_mHl2(const double MZ2, const double mHl2) const {
851  int NumPar = 2;
852  double params[] = {MZ2, mHl2};
853 
854  int i = CacheCheck(B0p_MZ2_0_0_mHl2_cache, NumPar, params);
855  if (i>=0) {
856  return ( B0p_MZ2_0_0_mHl2_cache[NumPar][i] );
857  } else {
858  gslpp::complex newResult = PV.B0p(MZ2, 0.0, 0.0, mHl2);
859  CacheShift(B0p_MZ2_0_0_mHl2_cache, NumPar, params, newResult);
860  return newResult;
861  }
862 }
863 
864 gslpp::complex THDMcache::B0p_MZ2_0_0_mHh2(const double MZ2, const double mHh2) const {
865  int NumPar = 2;
866  double params[] = {MZ2, mHh2};
867 
868  int i = CacheCheck(B0p_MZ2_0_0_mHh2_cache, NumPar, params);
869  if (i>=0) {
870  return ( B0p_MZ2_0_0_mHh2_cache[NumPar][i] );
871  } else {
872  gslpp::complex newResult = PV.B0p(MZ2, 0.0, 0.0, mHh2);
873  CacheShift(B0p_MZ2_0_0_mHh2_cache, NumPar, params, newResult);
874  return newResult;
875  }
876 }
877 
878 gslpp::complex THDMcache::B0p_MZ2_0_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
879  int NumPar = 3;
880  double params[] = {MZ2, mHp2, mHl2};
881 
882  int i = CacheCheck(B0p_MZ2_0_mHp2_mHl2_cache, NumPar, params);
883  if (i>=0) {
884  return ( B0p_MZ2_0_mHp2_mHl2_cache[NumPar][i] );
885  } else {
886  gslpp::complex newResult = PV.B0p(MZ2, 0.0, mHp2, mHl2);
887  CacheShift(B0p_MZ2_0_mHp2_mHl2_cache, NumPar, params, newResult);
888  return newResult;
889  }
890 }
891 
892 gslpp::complex THDMcache::B0p_MZ2_0_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
893  int NumPar = 3;
894  double params[] = {MZ2, mHp2, mHh2};
895 
896  int i = CacheCheck(B0p_MZ2_0_mHp2_mHh2_cache, NumPar, params);
897  if (i>=0) {
898  return ( B0p_MZ2_0_mHp2_mHh2_cache[NumPar][i] );
899  } else {
900  gslpp::complex newResult = PV.B0p(MZ2, 0.0, mHp2, mHh2);
901  CacheShift(B0p_MZ2_0_mHp2_mHh2_cache, NumPar, params, newResult);
902  return newResult;
903  }
904 }
905 
906 gslpp::complex THDMcache::B0p_MZ2_0_mHp2_mA2(const double MZ2, const double mHp2, const double mA2) const {
907  int NumPar = 3;
908  double params[] = {MZ2, mHp2, mA2};
909 
910  int i = CacheCheck(B0p_MZ2_0_mHp2_mA2_cache, NumPar, params);
911  if (i>=0) {
912  return ( B0p_MZ2_0_mHp2_mA2_cache[NumPar][i] );
913  } else {
914  gslpp::complex newResult = PV.B0p(MZ2, 0.0, mHp2, mA2);
915  CacheShift(B0p_MZ2_0_mHp2_mA2_cache, NumPar, params, newResult);
916  return newResult;
917  }
918 }
919 
920 gslpp::complex THDMcache::B0p_MZ2_0_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const {
921  int NumPar = 3;
922  double params[] = {MZ2, mA2, mHl2};
923 
924  int i = CacheCheck(B0p_MZ2_0_mA2_mHl2_cache, NumPar, params);
925  if (i>=0) {
926  return ( B0p_MZ2_0_mA2_mHl2_cache[NumPar][i] );
927  } else {
928  gslpp::complex newResult = PV.B0p(MZ2, 0.0, mA2, mHl2);
929  CacheShift(B0p_MZ2_0_mA2_mHl2_cache, NumPar, params, newResult);
930  return newResult;
931  }
932 }
933 
934 gslpp::complex THDMcache::B0p_MZ2_0_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const {
935  int NumPar = 3;
936  double params[] = {MZ2, mA2, mHh2};
937 
938  int i = CacheCheck(B0p_MZ2_0_mA2_mHh2_cache, NumPar, params);
939  if (i>=0) {
940  return ( B0p_MZ2_0_mA2_mHh2_cache[NumPar][i] );
941  } else {
942  gslpp::complex newResult = PV.B0p(MZ2, 0.0, mA2, mHh2);
943  CacheShift(B0p_MZ2_0_mA2_mHh2_cache, NumPar, params, newResult);
944  return newResult;
945  }
946 }
947 
948 gslpp::complex THDMcache::B0p_MZ2_mHl2_0_0(const double MZ2, const double mHl2) const {
949  int NumPar = 2;
950  double params[] = {MZ2, mHl2};
951 
952  int i = CacheCheck(B0p_MZ2_0_0_mHl2_cache, NumPar, params);
953  if (i>=0) {
954  return ( B0p_MZ2_0_0_mHl2_cache[NumPar][i] );
955  } else {
956  gslpp::complex newResult = PV.B0p(MZ2, mHl2, 0.0, 0.0);
957  CacheShift(B0p_MZ2_0_0_mHl2_cache, NumPar, params, newResult);
958  return newResult;
959  }
960 }
961 
962 gslpp::complex THDMcache::B0p_MZ2_mHl2_0_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
963  int NumPar = 3;
964  double params[] = {MZ2, mHl2, mHp2};
965 
966  int i = CacheCheck(B0p_MZ2_mHl2_0_mHp2_cache, NumPar, params);
967  if (i>=0) {
968  return ( B0p_MZ2_mHl2_0_mHp2_cache[NumPar][i] );
969  } else {
970  gslpp::complex newResult = PV.B0p(MZ2, mHl2, 0.0, mHp2);
971  CacheShift(B0p_MZ2_mHl2_0_mHp2_cache, NumPar, params, newResult);
972  return newResult;
973  }
974 }
975 
976 gslpp::complex THDMcache::B0p_MZ2_mHl2_0_mA2(const double MZ2, const double mHl2, const double mA2) const {
977  int NumPar = 3;
978  double params[] = {MZ2, mHl2, mA2};
979 
980  int i = CacheCheck(B0p_MZ2_mHl2_0_mA2_cache, NumPar, params);
981  if (i>=0) {
982  return ( B0p_MZ2_mHl2_0_mA2_cache[NumPar][i] );
983  } else {
984  gslpp::complex newResult = PV.B0p(MZ2, mHl2, 0.0, mA2);
985  CacheShift(B0p_MZ2_mHl2_0_mA2_cache, NumPar, params, newResult);
986  return newResult;
987  }
988 }
989 
990 gslpp::complex THDMcache::B0p_MZ2_mHl2_mHl2_mHl2(const double MZ2, const double mHl2) const {
991  int NumPar = 2;
992  double params[] = {MZ2, mHl2};
993 
994  int i = CacheCheck(B0p_MZ2_mHl2_mHl2_mHl2_cache, NumPar, params);
995  if (i>=0) {
996  return ( B0p_MZ2_mHl2_mHl2_mHl2_cache[NumPar][i] );
997  } else {
998  gslpp::complex newResult = PV.B0p(MZ2, mHl2, mHl2, mHl2);
999  CacheShift(B0p_MZ2_mHl2_mHl2_mHl2_cache, NumPar, params, newResult);
1000  return newResult;
1001  }
1002 }
1003 
1004 gslpp::complex THDMcache::B0p_MZ2_mHl2_mHh2_mHl2(const double MZ2, const double mHl2, const double mHh2) const {
1005  int NumPar = 3;
1006  double params[] = {MZ2, mHl2, mHh2};
1007 
1008  int i = CacheCheck(B0p_MZ2_mHl2_mHh2_mHl2_cache, NumPar, params);
1009  if (i>=0) {
1010  return ( B0p_MZ2_mHl2_mHh2_mHl2_cache[NumPar][i] );
1011  } else {
1012  gslpp::complex newResult = PV.B0p(MZ2, mHl2, mHh2, mHl2);
1013  CacheShift(B0p_MZ2_mHl2_mHh2_mHl2_cache, NumPar, params, newResult);
1014  return newResult;
1015  }
1016 }
1017 
1018 gslpp::complex THDMcache::B0p_MZ2_mHl2_mHh2_mHh2(const double MZ2, const double mHl2, const double mHh2) const {
1019  int NumPar = 3;
1020  double params[] = {MZ2, mHl2, mHh2};
1021 
1022  int i = CacheCheck(B0p_MZ2_mHl2_mHh2_mHh2_cache, NumPar, params);
1023  if (i>=0) {
1024  return ( B0p_MZ2_mHl2_mHh2_mHh2_cache[NumPar][i] );
1025  } else {
1026  gslpp::complex newResult = PV.B0p(MZ2, mHl2, mHh2, mHh2);
1027  CacheShift(B0p_MZ2_mHl2_mHh2_mHh2_cache, NumPar, params, newResult);
1028  return newResult;
1029  }
1030 }
1031 
1032 gslpp::complex THDMcache::B0p_MZ2_mHl2_mHp2_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
1033  int NumPar = 3;
1034  double params[] = {MZ2, mHl2, mHp2};
1035 
1036  int i = CacheCheck(B0p_MZ2_mHl2_mHp2_mHp2_cache, NumPar, params);
1037  if (i>=0) {
1038  return ( B0p_MZ2_mHl2_mHp2_mHp2_cache[NumPar][i] );
1039  } else {
1040  gslpp::complex newResult = PV.B0p(MZ2, mHl2, mHp2, mHp2);
1041  CacheShift(B0p_MZ2_mHl2_mHp2_mHp2_cache, NumPar, params, newResult);
1042  return newResult;
1043  }
1044 }
1045 
1046 gslpp::complex THDMcache::B0p_MZ2_mHl2_mA2_mA2(const double MZ2, const double mHl2, const double mA2) const {
1047  int NumPar = 3;
1048  double params[] = {MZ2, mHl2, mA2};
1049 
1050  int i = CacheCheck(B0p_MZ2_mHl2_mA2_mA2_cache, NumPar, params);
1051  if (i>=0) {
1052  return ( B0p_MZ2_mHl2_mA2_mA2_cache[NumPar][i] );
1053  } else {
1054  gslpp::complex newResult = PV.B0p(MZ2, mHl2, mA2, mA2);
1055  CacheShift(B0p_MZ2_mHl2_mA2_mA2_cache, NumPar, params, newResult);
1056  return newResult;
1057  }
1058 }
1059 
1060 gslpp::complex THDMcache::B0p_MZ2_mHh2_0_0(const double MZ2, const double mHh2) const {
1061  int NumPar = 2;
1062  double params[] = {MZ2, mHh2};
1063 
1064  int i = CacheCheck(B0p_MZ2_0_0_mHh2_cache, NumPar, params);
1065  if (i>=0) {
1066  return ( B0p_MZ2_0_0_mHh2_cache[NumPar][i] );
1067  } else {
1068  gslpp::complex newResult = PV.B0p(MZ2, mHh2, 0.0, 0.0);
1069  CacheShift(B0p_MZ2_0_0_mHh2_cache, NumPar, params, newResult);
1070  return newResult;
1071  }
1072 }
1073 
1074 gslpp::complex THDMcache::B0p_MZ2_mHh2_0_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
1075  int NumPar = 3;
1076  double params[] = {MZ2, mHh2, mHp2};
1077 
1078  int i = CacheCheck(B0p_MZ2_mHh2_0_mHp2_cache, NumPar, params);
1079  if (i>=0) {
1080  return ( B0p_MZ2_mHh2_0_mHp2_cache[NumPar][i] );
1081  } else {
1082  gslpp::complex newResult = PV.B0p(MZ2, mHh2, 0.0, mHp2);
1083  CacheShift(B0p_MZ2_mHh2_0_mHp2_cache, NumPar, params, newResult);
1084  return newResult;
1085  }
1086 }
1087 
1088 gslpp::complex THDMcache::B0p_MZ2_mHh2_0_mA2(const double MZ2, const double mHh2, const double mA2) const {
1089  int NumPar = 3;
1090  double params[] = {MZ2, mHh2, mA2};
1091 
1092  int i = CacheCheck(B0p_MZ2_mHh2_0_mA2_cache, NumPar, params);
1093  if (i>=0) {
1094  return ( B0p_MZ2_mHh2_0_mA2_cache[NumPar][i] );
1095  } else {
1096  gslpp::complex newResult = PV.B0p(MZ2, mHh2, 0.0, mA2);
1097  CacheShift(B0p_MZ2_mHh2_0_mA2_cache, NumPar, params, newResult);
1098  return newResult;
1099  }
1100 }
1101 
1102 gslpp::complex THDMcache::B0p_MZ2_mHh2_mHl2_mHl2(const double MZ2, const double mHh2, const double mHl2) const {
1103  int NumPar = 3;
1104  double params[] = {MZ2, mHh2, mHl2};
1105 
1106  int i = CacheCheck(B0p_MZ2_mHh2_mHl2_mHl2_cache, NumPar, params);
1107  if (i>=0) {
1108  return ( B0p_MZ2_mHh2_mHl2_mHl2_cache[NumPar][i] );
1109  } else {
1110  gslpp::complex newResult = PV.B0p(MZ2, mHh2, mHl2, mHl2);
1111  CacheShift(B0p_MZ2_mHh2_mHl2_mHl2_cache, NumPar, params, newResult);
1112  return newResult;
1113  }
1114 }
1115 
1116 gslpp::complex THDMcache::B0p_MZ2_mHh2_mHh2_mHl2(const double MZ2, const double mHh2, const double mHl2) const {
1117  int NumPar = 3;
1118  double params[] = {MZ2, mHh2, mHl2};
1119 
1120  int i = CacheCheck(B0p_MZ2_mHh2_mHh2_mHl2_cache, NumPar, params);
1121  if (i>=0) {
1122  return ( B0p_MZ2_mHh2_mHh2_mHl2_cache[NumPar][i] );
1123  } else {
1124  gslpp::complex newResult = PV.B0p(MZ2, mHh2, mHh2, mHl2);
1125  CacheShift(B0p_MZ2_mHh2_mHh2_mHl2_cache, NumPar, params, newResult);
1126  return newResult;
1127  }
1128 }
1129 
1130 gslpp::complex THDMcache::B0p_MZ2_mHh2_mHh2_mHh2(const double MZ2, const double mHh2) const {
1131  int NumPar = 2;
1132  double params[] = {MZ2, mHh2};
1133 
1134  int i = CacheCheck(B0p_MZ2_mHh2_mHh2_mHh2_cache, NumPar, params);
1135  if (i>=0) {
1136  return ( B0p_MZ2_mHh2_mHh2_mHh2_cache[NumPar][i] );
1137  } else {
1138  gslpp::complex newResult = PV.B0p(MZ2, mHh2, mHh2, mHh2);
1139  CacheShift(B0p_MZ2_mHh2_mHh2_mHh2_cache, NumPar, params, newResult);
1140  return newResult;
1141  }
1142 }
1143 
1144 gslpp::complex THDMcache::B0p_MZ2_mHh2_mHp2_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
1145  int NumPar = 3;
1146  double params[] = {MZ2, mHh2, mHp2};
1147 
1148  int i = CacheCheck(B0p_MZ2_mHh2_mHp2_mHp2_cache, NumPar, params);
1149  if (i>=0) {
1150  return ( B0p_MZ2_mHh2_mHp2_mHp2_cache[NumPar][i] );
1151  } else {
1152  gslpp::complex newResult = PV.B0p(MZ2, mHh2, mHp2, mHp2);
1153  CacheShift(B0p_MZ2_mHh2_mHp2_mHp2_cache, NumPar, params, newResult);
1154  return newResult;
1155  }
1156 }
1157 
1158 gslpp::complex THDMcache::B0p_MZ2_mHh2_mA2_mA2(const double MZ2, const double mHh2, const double mA2) const {
1159  int NumPar = 3;
1160  double params[] = {MZ2, mHh2, mA2};
1161 
1162  int i = CacheCheck(B0p_MZ2_mHh2_mA2_mA2_cache, NumPar, params);
1163  if (i>=0) {
1164  return ( B0p_MZ2_mHh2_mA2_mA2_cache[NumPar][i] );
1165  } else {
1166  gslpp::complex newResult = PV.B0p(MZ2, mHh2, mA2, mA2);
1167  CacheShift(B0p_MZ2_mHh2_mA2_mA2_cache, NumPar, params, newResult);
1168  return newResult;
1169  }
1170 }
1171 
1172 gslpp::complex THDMcache::B0p_MZ2_mHp2_0_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
1173  int NumPar = 3;
1174  double params[] = {MZ2, mHp2, mHl2};
1175 
1176  int i = CacheCheck(B0p_MZ2_mHp2_0_mHl2_cache, NumPar, params);
1177  if (i>=0) {
1178  return ( B0p_MZ2_mHp2_0_mHl2_cache[NumPar][i] );
1179  } else {
1180  gslpp::complex newResult = PV.B0p(MZ2, mHp2, 0.0, mHl2);
1181  CacheShift(B0p_MZ2_mHp2_0_mHl2_cache, NumPar, params, newResult);
1182  return newResult;
1183  }
1184 }
1185 
1186 gslpp::complex THDMcache::B0p_MZ2_mHp2_0_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
1187  int NumPar = 3;
1188  double params[] = {MZ2, mHp2, mHh2};
1189 
1190  int i = CacheCheck(B0p_MZ2_mHp2_0_mHh2_cache, NumPar, params);
1191  if (i>=0) {
1192  return ( B0p_MZ2_mHp2_0_mHh2_cache[NumPar][i] );
1193  } else {
1194  gslpp::complex newResult = PV.B0p(MZ2, mHp2, 0.0, mHh2);
1195  CacheShift(B0p_MZ2_mHp2_0_mHh2_cache, NumPar, params, newResult);
1196  return newResult;
1197  }
1198 }
1199 
1200 gslpp::complex THDMcache::B0p_MZ2_mHp2_0_mA2(const double MZ2, const double mHp2, const double mA2) const {
1201  int NumPar = 3;
1202  double params[] = {MZ2, mHp2, mA2};
1203 
1204  int i = CacheCheck(B0p_MZ2_mHp2_0_mA2_cache, NumPar, params);
1205  if (i>=0) {
1206  return ( B0p_MZ2_mHp2_0_mA2_cache[NumPar][i] );
1207  } else {
1208  gslpp::complex newResult = PV.B0p(MZ2, mHp2, 0.0, mA2);
1209  CacheShift(B0p_MZ2_mHp2_0_mA2_cache, NumPar, params, newResult);
1210  return newResult;
1211  }
1212 }
1213 
1214 gslpp::complex THDMcache::B0p_MZ2_mHp2_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const {
1215  int NumPar = 3;
1216  double params[] = {MZ2, mHp2, mHl2};
1217 
1218  int i = CacheCheck(B0p_MZ2_mHp2_mHp2_mHl2_cache, NumPar, params);
1219  if (i>=0) {
1220  return ( B0p_MZ2_mHp2_mHp2_mHl2_cache[NumPar][i] );
1221  } else {
1222  gslpp::complex newResult = PV.B0p(MZ2, mHp2, mHp2, mHl2);
1223  CacheShift(B0p_MZ2_mHp2_mHp2_mHl2_cache, NumPar, params, newResult);
1224  return newResult;
1225  }
1226 }
1227 
1228 gslpp::complex THDMcache::B0p_MZ2_mHp2_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const {
1229  int NumPar = 3;
1230  double params[] = {MZ2, mHp2, mHh2};
1231 
1232  int i = CacheCheck(B0p_MZ2_mHp2_mHp2_mHh2_cache, NumPar, params);
1233  if (i>=0) {
1234  return ( B0p_MZ2_mHp2_mHp2_mHh2_cache[NumPar][i] );
1235  } else {
1236  gslpp::complex newResult = PV.B0p(MZ2, mHp2, mHp2, mHh2);
1237  CacheShift(B0p_MZ2_mHp2_mHp2_mHh2_cache, NumPar, params, newResult);
1238  return newResult;
1239  }
1240 }
1241 
1242 gslpp::complex THDMcache::B0p_MZ2_mA2_0_mHl2(const double MZ2, const double mA2, const double mHl2) const {
1243  int NumPar = 3;
1244  double params[] = {MZ2, mA2, mHl2};
1245 
1246  int i = CacheCheck(B0p_MZ2_mA2_0_mHl2_cache, NumPar, params);
1247  if (i>=0) {
1248  return ( B0p_MZ2_mA2_0_mHl2_cache[NumPar][i] );
1249  } else {
1250  gslpp::complex newResult = PV.B0p(MZ2, mA2, 0.0, mHl2);
1251  CacheShift(B0p_MZ2_mA2_0_mHl2_cache, NumPar, params, newResult);
1252  return newResult;
1253  }
1254 }
1255 
1256 gslpp::complex THDMcache::B0p_MZ2_mA2_0_mHh2(const double MZ2, const double mA2, const double mHh2) const {
1257  int NumPar = 3;
1258  double params[] = {MZ2, mA2, mHh2};
1259 
1260  int i = CacheCheck(B0p_MZ2_mA2_0_mHh2_cache, NumPar, params);
1261  if (i>=0) {
1262  return ( B0p_MZ2_mA2_0_mHh2_cache[NumPar][i] );
1263  } else {
1264  gslpp::complex newResult = PV.B0p(MZ2, mA2, 0.0, mHh2);
1265  CacheShift(B0p_MZ2_mA2_0_mHh2_cache, NumPar, params, newResult);
1266  return newResult;
1267  }
1268 }
1269 
1270 gslpp::complex THDMcache::B0p_MZ2_mA2_0_mHp2(const double MZ2, const double mA2, const double mHp2) const {
1271  int NumPar = 3;
1272  double params[] = {MZ2, mA2, mHp2};
1273 
1274  int i = CacheCheck(B0p_MZ2_mA2_0_mHp2_cache, NumPar, params);
1275  if (i>=0) {
1276  return ( B0p_MZ2_mA2_0_mHp2_cache[NumPar][i] );
1277  } else {
1278  gslpp::complex newResult = PV.B0p(MZ2, mA2, 0.0, mHp2);
1279  CacheShift(B0p_MZ2_mA2_0_mHp2_cache, NumPar, params, newResult);
1280  return newResult;
1281  }
1282 }
1283 
1284 gslpp::complex THDMcache::B0p_MZ2_mA2_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const {
1285  int NumPar = 3;
1286  double params[] = {MZ2, mA2, mHl2};
1287 
1288  int i = CacheCheck(B0p_MZ2_mA2_mA2_mHl2_cache, NumPar, params);
1289  if (i>=0) {
1290  return ( B0p_MZ2_mA2_mA2_mHl2_cache[NumPar][i] );
1291  } else {
1292  gslpp::complex newResult = PV.B0p(MZ2, mA2, mA2, mHl2);
1293  CacheShift(B0p_MZ2_mA2_mA2_mHl2_cache, NumPar, params, newResult);
1294  return newResult;
1295  }
1296 }
1297 
1298 gslpp::complex THDMcache::B0p_MZ2_mA2_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const {
1299  int NumPar = 3;
1300  double params[] = {MZ2, mA2, mHh2};
1301 
1302  int i = CacheCheck(B0p_MZ2_mA2_mA2_mHh2_cache, NumPar, params);
1303  if (i>=0) {
1304  return ( B0p_MZ2_mA2_mA2_mHh2_cache[NumPar][i] );
1305  } else {
1306  gslpp::complex newResult = PV.B0p(MZ2, mA2, mA2, mHh2);
1307  CacheShift(B0p_MZ2_mA2_mA2_mHh2_cache, NumPar, params, newResult);
1308  return newResult;
1309  }
1310 }
1311 
1313 
1314 gslpp::complex THDMcache::B00_MZ2_0_mA2_mHp2(const double MZ2, const double mA2, const double mHp2) const {
1315  int NumPar = 3;
1316  double params[] = {MZ2, mA2, mHp2};
1317 
1318  int i = CacheCheck(B00_MZ2_0_mA2_mHp2_cache, NumPar, params);
1319  if (i>=0) {
1320  return ( B00_MZ2_0_mA2_mHp2_cache[NumPar][i] );
1321  } else {
1322  gslpp::complex newResult = PV.B00(MZ2, 0., mA2, mHp2);
1323  CacheShift(B00_MZ2_0_mA2_mHp2_cache, NumPar, params, newResult);
1324  return newResult;
1325  }
1326 }
1327 
1328 gslpp::complex THDMcache::B00_MZ2_0_mHh2_mA2(const double MZ2, const double mHh2, const double mA2) const {
1329  int NumPar = 3;
1330  double params[] = {MZ2, mHh2, mA2};
1331 
1332  int i = CacheCheck(B00_MZ2_0_mHh2_mA2_cache, NumPar, params);
1333  if (i>=0) {
1334  return ( B00_MZ2_0_mHh2_mA2_cache[NumPar][i] );
1335  } else {
1336  gslpp::complex newResult = PV.B00(MZ2, 0., mHh2, mA2);
1337  CacheShift(B00_MZ2_0_mHh2_mA2_cache, NumPar, params, newResult);
1338  return newResult;
1339  }
1340 }
1341 
1342 gslpp::complex THDMcache::B00_MZ2_0_mHh2_mHp2(const double MZ2, const double mHh2, const double mHp2) const {
1343  int NumPar = 3;
1344  double params[] = {MZ2, mHh2, mHp2};
1345 
1346  int i = CacheCheck(B00_MZ2_0_mHh2_mHp2_cache, NumPar, params);
1347  if (i>=0) {
1348  return ( B00_MZ2_0_mHh2_mHp2_cache[NumPar][i] );
1349  } else {
1350  gslpp::complex newResult = PV.B00(MZ2, 0., mHh2, mHp2);
1351  CacheShift(B00_MZ2_0_mHh2_mHp2_cache, NumPar, params, newResult);
1352  return newResult;
1353  }
1354 }
1355 
1356 gslpp::complex THDMcache::B00_MZ2_0_mHl2_mA2(const double MZ2, const double mHl2, const double mA2) const {
1357  int NumPar = 3;
1358  double params[] = {MZ2, mHl2, mA2};
1359 
1360  int i = CacheCheck(B00_MZ2_0_mHl2_mA2_cache, NumPar, params);
1361  if (i>=0) {
1362  return ( B00_MZ2_0_mHl2_mA2_cache[NumPar][i] );
1363  } else {
1364  gslpp::complex newResult = PV.B00(MZ2, 0., mHl2, mA2);
1365  CacheShift(B00_MZ2_0_mHl2_mA2_cache, NumPar, params, newResult);
1366  return newResult;
1367  }
1368 }
1369 
1370 gslpp::complex THDMcache::B00_MZ2_0_mHl2_mHp2(const double MZ2, const double mHl2, const double mHp2) const {
1371  int NumPar = 3;
1372  double params[] = {MZ2, mHl2, mHp2};
1373 
1374  int i = CacheCheck(B00_MZ2_0_mHl2_mHp2_cache, NumPar, params);
1375  if (i>=0) {
1376  return ( B00_MZ2_0_mHl2_mHp2_cache[NumPar][i] );
1377  } else {
1378  gslpp::complex newResult = PV.B00(MZ2, 0., mHl2, mHp2);
1379  CacheShift(B00_MZ2_0_mHl2_mHp2_cache, NumPar, params, newResult);
1380  return newResult;
1381  }
1382 }
1383 
1384 gslpp::complex THDMcache::B00_MZ2_0_mHp2_mHp2(const double MZ2, const double mHp2) const {
1385  int NumPar = 2;
1386  double params[] = {MZ2, mHp2};
1387 
1388  int i = CacheCheck(B00_MZ2_0_mHp2_mHp2_cache, NumPar, params);
1389  if (i>=0) {
1390  return ( B00_MZ2_0_mHp2_mHp2_cache[NumPar][i] );
1391  } else {
1392  gslpp::complex newResult = PV.B00(MZ2, 0., mHp2, mHp2);
1393  CacheShift(B00_MZ2_0_mHp2_mHp2_cache, NumPar, params, newResult);
1394  return newResult;
1395  }
1396 }
1397 
1398 gslpp::complex THDMcache::B00_MZ2_0_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const {
1399  int NumPar = 3;
1400  double params[] = {MZ2, MW2, mHh2};
1401 
1402  int i = CacheCheck(B00_MZ2_0_MW2_mHh2_cache, NumPar, params);
1403  if (i>=0) {
1404  return ( B00_MZ2_0_MW2_mHh2_cache[NumPar][i] );
1405  } else {
1406  gslpp::complex newResult = PV.B00(MZ2, MW2, MW2, mHh2);
1407  CacheShift(B00_MZ2_0_MW2_mHh2_cache, NumPar, params, newResult);
1408  return newResult;
1409  }
1410 }
1411 
1412 gslpp::complex THDMcache::B00_MZ2_0_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const {
1413  int NumPar = 3;
1414  double params[] = {MZ2, MW2, mHl2};
1415 
1416  int i = CacheCheck(B00_MZ2_0_MW2_mHl2_cache, NumPar, params);
1417  if (i>=0) {
1418  return ( B00_MZ2_0_MW2_mHl2_cache[NumPar][i] );
1419  } else {
1420  gslpp::complex newResult = PV.B00(MZ2, 0., MW2, mHl2);
1421  CacheShift(B00_MZ2_0_MW2_mHl2_cache, NumPar, params, newResult);
1422  return newResult;
1423  }
1424 }
1425 
1426 gslpp::complex THDMcache::B00_MZ2_0_MZ2_mHh2(const double MZ2, const double mHh2) const {
1427  int NumPar = 2;
1428  double params[] = {MZ2, mHh2};
1429 
1430  int i = CacheCheck(B00_MZ2_0_MZ2_mHh2_cache, NumPar, params);
1431  if (i>=0) {
1432  return ( B00_MZ2_0_MZ2_mHh2_cache[NumPar][i] );
1433  } else {
1434  gslpp::complex newResult = PV.B00(MZ2, 0., MZ2, mHh2);
1435  CacheShift(B00_MZ2_0_MZ2_mHh2_cache, NumPar, params, newResult);
1436  return newResult;
1437  }
1438 }
1439 
1440 gslpp::complex THDMcache::B00_MZ2_0_MZ2_mHl2(const double MZ2, const double mHl2) const {
1441  int NumPar = 2;
1442  double params[] = {MZ2, mHl2};
1443 
1444  int i = CacheCheck(B00_MZ2_0_MZ2_mHl2_cache, NumPar, params);
1445  if (i>=0) {
1446  return ( B00_MZ2_0_MZ2_mHl2_cache[NumPar][i] );
1447  } else {
1448  gslpp::complex newResult = PV.B00(MZ2, 0., MZ2, mHl2);
1449  CacheShift(B00_MZ2_0_MZ2_mHl2_cache, NumPar, params, newResult);
1450  return newResult;
1451  }
1452 }
1453 
1454 gslpp::complex THDMcache::B00_MZ2_MW2_mA2_mHp2(const double MZ2, const double MW2, const double mA2, const double mHp2) const {
1455  int NumPar = 4;
1456  double params[] = {MZ2, MW2, mA2, mHp2};
1457 
1458  int i = CacheCheck(B00_MZ2_MW2_mA2_mHp2_cache, NumPar, params);
1459  if (i>=0) {
1460  return ( B00_MZ2_MW2_mA2_mHp2_cache[NumPar][i] );
1461  } else {
1462  gslpp::complex newResult = PV.B00(MZ2, MW2, mA2, mHp2);
1463  CacheShift(B00_MZ2_MW2_mA2_mHp2_cache, NumPar, params, newResult);
1464  return newResult;
1465  }
1466 }
1467 
1468 gslpp::complex THDMcache::B00_MZ2_MW2_mHh2_mHp2(const double MZ2, const double MW2, const double mHh2, const double mHp2) const {
1469  int NumPar = 4;
1470  double params[] = {MZ2, MW2, mHh2, mHp2};
1471 
1472  int i = CacheCheck(B00_MZ2_MW2_mHh2_mHp2_cache, NumPar, params);
1473  if (i>=0) {
1474  return ( B00_MZ2_MW2_mHh2_mHp2_cache[NumPar][i] );
1475  } else {
1476  gslpp::complex newResult = PV.B00(MZ2, MW2, mHh2, mHp2);
1477  CacheShift(B00_MZ2_MW2_mHh2_mHp2_cache, NumPar, params, newResult);
1478  return newResult;
1479  }
1480 }
1481 
1482 gslpp::complex THDMcache::B00_MZ2_MW2_mHl2_mHp2(const double MZ2, const double MW2, const double mHl2, const double mHp2) const {
1483  int NumPar = 4;
1484  double params[] = {MZ2, MW2, mHl2, mHp2};
1485 
1486  int i = CacheCheck(B00_MZ2_MW2_mHl2_mHp2_cache, NumPar, params);
1487  if (i>=0) {
1488  return ( B00_MZ2_MW2_mHl2_mHp2_cache[NumPar][i] );
1489  } else {
1490  gslpp::complex newResult = PV.B00(MZ2, MW2, mHl2, mHp2);
1491  CacheShift(B00_MZ2_MW2_mHl2_mHp2_cache, NumPar, params, newResult);
1492  return newResult;
1493  }
1494 }
1495 
1496 gslpp::complex THDMcache::B00_MZ2_MW2_mHp2_mHp2(const double MZ2, const double MW2, const double mHp2) const {
1497  int NumPar = 3;
1498  double params[] = {MZ2, MW2, mHp2};
1499 
1500  int i = CacheCheck(B00_MZ2_MW2_mHp2_mHp2_cache, NumPar, params);
1501  if (i>=0) {
1502  return ( B00_MZ2_MW2_mHp2_mHp2_cache[NumPar][i] );
1503  } else {
1504  gslpp::complex newResult = PV.B00(MZ2, MW2, mHp2, mHp2);
1505  CacheShift(B00_MZ2_MW2_mHp2_mHp2_cache, NumPar, params, newResult);
1506  return newResult;
1507  }
1508 }
1509 
1510 gslpp::complex THDMcache::B00_MZ2_MW2_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const {
1511  int NumPar = 3;
1512  double params[] = {MZ2, MW2, mHh2};
1513 
1514  int i = CacheCheck(B00_MZ2_MW2_MW2_mHh2_cache, NumPar, params);
1515  if (i>=0) {
1516  return ( B00_MZ2_MW2_MW2_mHh2_cache[NumPar][i] );
1517  } else {
1518  gslpp::complex newResult = PV.B00(MZ2, MW2, MW2, mHh2);
1519  CacheShift(B00_MZ2_MW2_MW2_mHh2_cache, NumPar, params, newResult);
1520  return newResult;
1521  }
1522 }
1523 
1524 gslpp::complex THDMcache::B00_MZ2_MW2_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const {
1525  int NumPar = 3;
1526  double params[] = {MZ2, MW2, mHl2};
1527 
1528  int i = CacheCheck(B00_MZ2_MW2_MW2_mHl2_cache, NumPar, params);
1529  if (i>=0) {
1530  return ( B00_MZ2_MW2_MW2_mHl2_cache[NumPar][i] );
1531  } else {
1532  gslpp::complex newResult = PV.B00(MZ2, MW2, MW2, mHl2);
1533  CacheShift(B00_MZ2_MW2_MW2_mHl2_cache, NumPar, params, newResult);
1534  return newResult;
1535  }
1536 }
1537 
1538 gslpp::complex THDMcache::B00_MZ2_MZ2_mHh2_mA2(const double MZ2, const double mHh2, const double mA2) const {
1539  int NumPar = 3;
1540  double params[] = {MZ2, mHh2, mA2};
1541 
1542  int i = CacheCheck(B00_MZ2_MZ2_mHh2_mA2_cache, NumPar, params);
1543  if (i>=0) {
1544  return ( B00_MZ2_MZ2_mHh2_mA2_cache[NumPar][i] );
1545  } else {
1546  gslpp::complex newResult = PV.B00(MZ2, MZ2, mHh2, mA2);
1547  CacheShift(B00_MZ2_MZ2_mHh2_mA2_cache, NumPar, params, newResult);
1548  return newResult;
1549  }
1550 }
1551 
1552 gslpp::complex THDMcache::B00_MZ2_MZ2_mHl2_mA2(const double MZ2, const double mHl2, const double mA2) const {
1553  int NumPar = 3;
1554  double params[] = {MZ2, mHl2, mA2};
1555 
1556  int i = CacheCheck(B00_MZ2_MZ2_mHl2_mA2_cache, NumPar, params);
1557  if (i>=0) {
1558  return ( B00_MZ2_MZ2_mHl2_mA2_cache[NumPar][i] );
1559  } else {
1560  gslpp::complex newResult = PV.B00(MZ2, MZ2, mHl2, mA2);
1561  CacheShift(B00_MZ2_MZ2_mHl2_mA2_cache, NumPar, params, newResult);
1562  return newResult;
1563  }
1564 }
1565 
1566 gslpp::complex THDMcache::B00_MZ2_MZ2_mHp2_mHp2(const double MZ2, const double mHp2) const {
1567  int NumPar = 2;
1568  double params[] = {MZ2, mHp2};
1569 
1570  int i = CacheCheck(B00_MZ2_MZ2_mHp2_mHp2_cache, NumPar, params);
1571  if (i>=0) {
1572  return ( B00_MZ2_MZ2_mHp2_mHp2_cache[NumPar][i] );
1573  } else {
1574  gslpp::complex newResult = PV.B00(MZ2, MZ2, mHp2, mHp2);
1575  CacheShift(B00_MZ2_MZ2_mHp2_mHp2_cache, NumPar, params, newResult);
1576  return newResult;
1577  }
1578 }
1579 
1580 gslpp::complex THDMcache::B00_MZ2_MZ2_MZ2_mHh2(const double MZ2, const double mHh2) const {
1581  int NumPar = 2;
1582  double params[] = {MZ2, mHh2};
1583 
1584  int i = CacheCheck(B00_MZ2_MZ2_MZ2_mHh2_cache, NumPar, params);
1585  if (i>=0) {
1586  return ( B00_MZ2_MZ2_MZ2_mHh2_cache[NumPar][i] );
1587  } else {
1588  gslpp::complex newResult = PV.B00(MZ2, MZ2, MZ2, mHh2);
1589  CacheShift(B00_MZ2_MZ2_MZ2_mHh2_cache, NumPar, params, newResult);
1590  return newResult;
1591  }
1592 }
1593 
1594 gslpp::complex THDMcache::B00_MZ2_MZ2_MZ2_mHl2(const double MZ2, const double mHl2) const {
1595  int NumPar = 2;
1596  double params[] = {MZ2, mHl2};
1597 
1598  int i = CacheCheck(B00_MZ2_MZ2_MZ2_mHl2_cache, NumPar, params);
1599  if (i>=0) {
1600  return ( B00_MZ2_MZ2_MZ2_mHl2_cache[NumPar][i] );
1601  } else {
1602  gslpp::complex newResult = PV.B00(MZ2, MZ2, MZ2, mHl2);
1603  CacheShift(B00_MZ2_MZ2_MZ2_mHl2_cache, NumPar, params, newResult);
1604  return newResult;
1605  }
1606 }
1607 
1609 
1610  std::stringstream br1,br2,br3,br4,br5,br6,br7;
1611  std::stringstream dw1;
1612  std::stringstream cs1,cs2,cs3,cs4,cs5,cs6,cs7,cs8,cs9;
1613  std::stringstream cs11,cs12,cs13,cs14,cs15,cs16,cs17,cs18,cs19;
1614  std::stringstream cs20,cs21;
1615  std::stringstream csr1,csr2,csr3,csr4;
1616  std::stringstream csr11,csr12,csr13,csr14;
1617  std::stringstream ex1,ex2,ex3,ex4,ex5,ex6,ex7,ex8,ex9,ex10,ex11,ex12,ex13,ex14,ex15,ex16,ex17,ex18,ex19,ex20,ex21,ex22,ex23;
1618  std::stringstream ex1e,ex2e,ex3e,ex4e,ex5e,ex6e,ex7e,ex8e,ex9e,ex10e,ex11e,ex12e,ex13e,ex14e,ex15e,ex16e,ex17e,ex18e,ex19e,ex20e,ex21e,ex22e,ex23e;
1619 // std::stringstream ex14ep2,ex14em2;
1620  std::stringstream ex24,ex25,ex26,ex27,ex28,ex29,ex30,ex31,ex32,ex33,ex34,ex35,ex36,ex37,ex38,ex39,ex40,ex41,ex42,ex43,ex44,\
1621  ex45,ex46,ex47,ex48,ex49,ex50,ex51,ex52,ex53,ex54,ex55,ex56;
1622  std::stringstream ex24e,ex25e,ex26e,ex27e,ex28e,ex29e,ex30e,ex31e,ex32e,ex33e,ex34e,ex35e,ex36e,ex37e,ex38e,ex39e,ex40e,ex41e,ex42e,ex43e,ex44e,\
1623  ex45e,ex46e,ex47e,ex48e,ex49e,ex50e,ex51e,ex52e,ex53e,ex54e,ex55e,ex56e;
1624  std::stringstream ex57,ex58,ex59,ex60,ex61,ex62,ex63,ex64,ex65,ex66,ex67,ex68,ex69,ex70,ex71,ex72,ex73,ex74,ex75,ex76,ex77,\
1625  ex78,ex79,ex80,ex81,ex82,ex83,ex84,ex85,ex86,ex87,ex88,ex89,ex90,ex91,ex92,ex93,ex94,ex95,ex96,ex97,ex98;
1626  std::stringstream ex57e,ex58e,ex59e,ex60e,ex61e,ex62e,ex63e,ex64e,ex65e,ex66e,ex67e,ex68e,ex69e,ex70e,ex71e,ex72e,ex73e,ex74e,ex75e,ex76e,ex77e,\
1627  ex78e,ex79e,ex80e,ex81e,ex82e,ex83e,ex84e,ex85e,ex86e,ex87e,ex88e,ex89e,ex90e,ex91e,ex92e,ex93e,ex94e,ex95e,ex96e,ex97e,ex98e;
1628  std::stringstream ex99,ex100,ex101,ex102,ex103,ex104,ex105,ex106,ex107,ex108,ex109,ex110,ex111,ex112,ex113,ex114,ex115,ex116,ex117,ex118,ex119,ex120;
1629  std::stringstream ex99e,ex100e,ex101e,ex102e,ex103e,ex104e,ex105e,ex106e,ex107e,ex108e,ex109e,ex110e,ex111e,ex112e,ex113e,ex114e,ex115e,ex116e,ex117e,ex118e,ex119e,ex120e;
1630  std::stringstream ex121,ex122,ex123,ex124;
1631  std::stringstream bsg1;
1632 
1633  std::cout<<"reading tables"<<std::endl;
1634 
1635 // std::cout << "HEPFITTABS = " << getenv("HEPFITPATH") << std::endl;
1636  std::stringstream path;
1637  path << getenv("HEPFITTABS") << "/THDM/tabs/";
1638  std::string tablepath=path.str();
1639 
1640  br1 << tablepath << "br1.dat";
1641  br_tt = readTable(br1.str(),19961,2);
1642 
1644 // std::cout<<"br_tt="<<br_tt<<std::endl;
1645 // double brtt1[4][2];
1646 // brtt1[0][1]=1;
1647 // gslpp::matrix<double> brtt1(19861,2,0.);
1648 // std::stringstream br1x;
1649 // br1x << "log_cs_ggH_13.h";
1650 // //brtt1(2)=(3.,4.);
1651 // brtt1=readTable(br1x.str(),20,2);
1652 // std::cout<<"brtt1="<<bla1<<std::endl;
1653 
1654 
1655  br2 << tablepath << "br2.dat";
1656  br_bb = readTable(br2.str(),19961,2);
1657  br3 << tablepath << "br3.dat";
1658  br_tautau = readTable(br3.str(),19961,2);
1659  br4 << tablepath << "br4.dat";
1660  br_cc = readTable(br4.str(),19961,2);
1661  br5 << tablepath << "br5.dat";
1662  br_mumu = readTable(br5.str(),19961,2);
1663  br6 << tablepath << "br6.dat";
1664  br_ZZ = readTable(br6.str(),19961,2);
1665  br7 << tablepath << "br7.dat";
1666  br_WW = readTable(br7.str(),19961,2);
1667  dw1 << tablepath << "dw1.dat";
1668  GammaHtot_SM = readTable(dw1.str(),19961,2);
1669  cs1 << tablepath << "log_cs_ggH_8.dat";
1670  log_cs_ggH_8 = readTable(cs1.str(),199,2);
1671  cs11 << tablepath << "log_cs_ggH_13.dat";
1672  log_cs_ggH_13 = readTable(cs11.str(),199,2);
1673  cs2 << tablepath << "log_cs_VBF_8.dat";
1674  log_cs_VBF_8 = readTable(cs2.str(),199,2);
1675  cs12 << tablepath << "log_cs_VBF_13.dat";
1676  log_cs_VBF_13 = readTable(cs12.str(),199,2);
1677  cs3 << tablepath << "log_cs_WH_8.dat";
1678  log_cs_WH_8 = readTable(cs3.str(),199,2);
1679  cs13 << tablepath << "log_cs_WH_13.dat";
1680  log_cs_WH_13 = readTable(cs13.str(),199,2);
1681  cs4 << tablepath << "log_cs_ZH_8.dat";
1682  log_cs_ZH_8 = readTable(cs4.str(),199,2);
1683  cs14 << tablepath << "log_cs_ZH_13.dat";
1684  log_cs_ZH_13 = readTable(cs14.str(),199,2);
1685  cs5 << tablepath << "log_cs_ttH_8.dat";
1686  log_cs_ttH_8 = readTable(cs5.str(),199,2);
1687  cs15 << tablepath << "log_cs_ttH_13.dat";
1688  log_cs_ttH_13 = readTable(cs15.str(),199,2);
1689  cs6 << tablepath << "log_cs_bbH_8.dat";
1690  log_cs_bbH_8 = readTable(cs6.str(),199,2);
1691  cs16 << tablepath << "log_cs_bbH_13.dat";
1692  log_cs_bbH_13 = readTable(cs16.str(),199,2);
1693  cs7 << tablepath << "log_cs_ggA_8.dat";
1694  log_cs_ggA_8 = readTable(cs7.str(),199,2);
1695  cs17 << tablepath << "log_cs_ggA_13.dat";
1696  log_cs_ggA_13 = readTable(cs17.str(),199,2);
1697  cs8 << tablepath << "log_cs_ttA_8.dat";
1698  log_cs_ttA_8 = readTable(cs8.str(),199,2);
1699  cs18 << tablepath << "log_cs_ttA_13.dat";
1700  log_cs_ttA_13 = readTable(cs18.str(),199,2);
1701  cs9 << tablepath << "log_cs_bbA_8.dat";
1702  log_cs_bbA_8 = readTable(cs9.str(),199,2);
1703  cs19 << tablepath << "log_cs_bbA_13.dat";
1704  log_cs_bbA_13 = readTable(cs19.str(),199,2);
1705  cs20 << tablepath << "log_cs_ggHp_8.dat";
1706  log_cs_ggHp_8 = readTable(cs20.str(),744,3);
1707  cs21 << tablepath << "log_cs_ggHp_13.dat";
1708  log_cs_ggHp_13 = readTable(cs21.str(),1104,3);
1709  csr1 << tablepath << "csrH_top_8.dat";
1710  csrH_top_8 = readTable(csr1.str(),199,2);
1711  csr11 << tablepath << "csrH_top_13.dat";
1712  csrH_top_13 = readTable(csr11.str(),199,2);
1713  csr2 << tablepath << "csrH_bottom_8.dat";
1714  csrH_bottom_8 = readTable(csr2.str(),199,2);
1715  csr12 << tablepath << "csrH_bottom_13.dat";
1716  csrH_bottom_13 = readTable(csr12.str(),199,2);
1717  csr3 << tablepath << "csrA_top_8.dat";
1718  csrA_top_8 = readTable(csr3.str(),199,2);
1719  csr13 << tablepath << "csrA_top_13.dat";
1720  csrA_top_13 = readTable(csr13.str(),199,2);
1721  csr4 << tablepath << "csrA_bottom_8.dat";
1722  csrA_bottom_8 = readTable(csr4.str(),199,2);
1723  csr14 << tablepath << "csrA_bottom_13.dat";
1724  csrA_bottom_13 = readTable(csr14.str(),199,2);
1725  ex1 << tablepath << "150400936.dat";
1726  CMS8_mu_pp_H_VV = readTable(ex1.str(),172,2);
1727  ex1e << tablepath << "150400936_e.dat";
1728  CMS8_mu_pp_H_VV_e = readTable(ex1e.str(),172,2);
1729  ex2 << tablepath << "150404710.dat";
1730  CMS8_gg_A_hZ_bbll = readTable(ex2.str(),16,2);
1731  ex2e << tablepath << "150404710_e.dat";
1732  CMS8_gg_A_hZ_bbll_e = readTable(ex2e.str(),16,2);
1733  ex3 << tablepath << "160306896.dat";
1734  CMS8_pp_H_hh_gagabb = readTable(ex3.str(),85,2);
1735  ex3e << tablepath << "160306896_e.dat";
1736  CMS8_pp_H_hh_gagabb_e = readTable(ex3e.str(),85,2);
1737  ex4 << tablepath << "150304114.dat";
1738  CMS8_pp_H_hh_bbbb = readTable(ex4.str(),167,2);
1739  ex4e << tablepath << "150304114_e.dat";
1740  CMS8_pp_H_hh_bbbb_e = readTable(ex4e.str(),167,2);
1741  ex5 << tablepath << "14076583.dat";
1742  ATLAS8_pp_phi_gaga = readTable(ex5.str(),108,2);
1743  ex5e << tablepath << "14076583_e.dat";
1744  ATLAS8_pp_phi_gaga_e = readTable(ex5e.str(),108,2);
1745  ex6 << tablepath << "14096064_a.dat";
1746  ATLAS8_gg_phi_tautau = readTable(ex6.str(),92,2);
1747  ex6e << tablepath << "14096064_a_e.dat";
1748  ATLAS8_gg_phi_tautau_e = readTable(ex6e.str(),92,2);
1749  ex7 << tablepath << "14096064_b.dat";
1750  ATLAS8_bb_phi_tautau = readTable(ex7.str(),92,2);
1751  ex7e << tablepath << "14096064_b_e.dat";
1752  ATLAS8_bb_phi_tautau_e = readTable(ex7e.str(),92,2);
1753  ex8 << tablepath << "150204478_a.dat";
1754  ATLAS8_gg_A_hZ_tautauZ = readTable(ex8.str(),79,2);
1755  ex8e << tablepath << "150204478_a_e.dat";
1756  ATLAS8_gg_A_hZ_tautauZ_e = readTable(ex8e.str(),79,2);
1757  ex9 << tablepath << "150204478_b.dat";
1758  ATLAS8_gg_A_hZ_bbZ = readTable(ex9.str(),79,2);
1759  ex9e << tablepath << "150204478_b_e.dat";
1760  ATLAS8_gg_A_hZ_bbZ_e = readTable(ex9e.str(),79,2);
1761  ex10 << tablepath << "150608329.dat";
1762  CMS8_bb_phi_bb = readTable(ex10.str(),81,2);
1763  ex10e << tablepath << "150608329_e.dat";
1764  CMS8_bb_phi_bb_e = readTable(ex10e.str(),81,2);
1765  ex11 << tablepath << "150507018.dat";
1766  ATLAS8_gg_phi_tt = readTable(ex11.str(),53,2);
1767  ex11e << tablepath << "150507018_e.dat";
1768  ATLAS8_gg_phi_tt_e = readTable(ex11e.str(),53,2);
1769  ex12 << tablepath << "CMS-PAS-HIG-14-029_a.dat";
1770  CMS8_gg_phi_tautau = readTable(ex12.str(),92,2);
1771  ex12e << tablepath << "CMS-PAS-HIG-14-029_a_e.dat";
1772  CMS8_gg_phi_tautau_e = readTable(ex12e.str(),92,2);
1773  ex13 << tablepath << "CMS-PAS-HIG-14-029_b.dat";
1774  CMS8_bb_phi_tautau = readTable(ex13.str(),92,2);
1775  ex13e << tablepath << "CMS-PAS-HIG-14-029_b_e.dat";
1776  CMS8_bb_phi_tautau_e = readTable(ex13e.str(),92,2);
1777  ex14 << tablepath << "150602301.dat";
1778  CMS8_gg_phi_gaga = readTable(ex14.str(),141,2);
1779  ex14e << tablepath << "150602301_e.dat";
1780  CMS8_gg_phi_gaga_e = readTable(ex14e.str(),141,2);
1781 
1782 // ex14ep1 << tablepath << "150602301_ep1.dat";
1783 // CMS_ggF_phi_gaga_ep1 = readTable(ex14ep1.str(),141,2);
1784  //CHANGE THIS DEFINITION!
1785 // ex14ep2 << tablepath << "150602301_e.dat";
1786 // CMS_ggF_phi_gaga_ep2 = readTable(ex14ep2.str(),141,2);
1787 // ex14em1 << tablepath << "150602301_em1.dat";
1788 // CMS_ggF_phi_gaga_em1 = readTable(ex14em1.str(),141,2);
1789  //CHANGE THIS DEFINITION!
1790 // ex14em2 << tablepath << "150602301_e.dat";
1791 // CMS_ggF_phi_gaga_em2 = readTable(ex14em2.str(),141,2);
1792 
1793  ex15 << tablepath << "150900389_a.dat";
1794  ATLAS8_gg_H_WW = readTable(ex15.str(),13,2);
1795  ex15e << tablepath << "150900389_a_e.dat";
1796  ATLAS8_gg_H_WW_e = readTable(ex15e.str(),13,2);
1797  ex16 << tablepath << "150900389_b.dat";
1798  ATLAS8_VBF_H_WW = readTable(ex16.str(),13,2);
1799  ex16e << tablepath << "150900389_b_e.dat";
1800  ATLAS8_VBF_H_WW_e = readTable(ex16e.str(),13,2);
1801  ex17 << tablepath << "150904670.dat";
1802  ATLAS8_gg_H_hh = readTable(ex17.str(),75,2);
1803  ex17e << tablepath << "150904670_e.dat";
1804  ATLAS8_gg_H_hh_e = readTable(ex17e.str(),75,2);
1805  ex18 << tablepath << "151001181_a.dat";
1806  CMS8_gg_H_hh_bbtautau = readTable(ex18.str(),10,2);
1807  ex18e << tablepath << "151001181_a_e.dat";
1808  CMS8_gg_H_hh_bbtautau_e = readTable(ex18e.str(),10,2);
1809  ex19 << tablepath << "151001181_b.dat";
1810  CMS8_gg_A_hZ_tautaull = readTable(ex19.str(),14,2);
1811  ex19e << tablepath << "151001181_b_e.dat";
1812  CMS8_gg_A_hZ_tautaull_e = readTable(ex19e.str(),14,2);
1813  ex20 << tablepath << "150705930_a.dat";
1814  ATLAS8_gg_H_ZZ = readTable(ex20.str(),173,2);
1815  ex20e << tablepath << "150705930_a_e.dat";
1816  ATLAS8_gg_H_ZZ_e = readTable(ex20e.str(),173,2);
1817  ex21 << tablepath << "150705930_b.dat";
1818  ATLAS8_VBF_H_ZZ = readTable(ex21.str(),173,2);
1819  ex21e << tablepath << "150705930_b_e.dat";
1820  ATLAS8_VBF_H_ZZ_e = readTable(ex21e.str(),173,2);
1821  ex22 << tablepath << "CMS-PAS-HIG-15-013.dat";
1822  CMS8_pp_H_hh = readTable(ex22.str(),71,2);
1823  ex22e << tablepath << "CMS-PAS-HIG-15-013_e.dat";
1824  CMS8_pp_H_hh_e = readTable(ex22e.str(),71,2);
1825  ex23 << tablepath << "CMS-PAS-HIG-16-014.dat";
1826  CMS8_pp_A_Zga_llga = readTable(ex23.str(),101,2);
1827  ex23e << tablepath << "CMS-PAS-HIG-16-014_e.dat";
1828  CMS8_pp_A_Zga_llga_e = readTable(ex23e.str(),101,2);
1829 
1830  ex24 << tablepath << "ATLAS-CONF-2016-104_b.dat";
1831  ATLAS13_bb_phi_tt = readTable(ex24.str(),61,2);
1832  ex24e << tablepath << "ATLAS-CONF-2016-104_b_e.dat";
1833  ATLAS13_bb_phi_tt_e = readTable(ex24e.str(),61,2);
1834  ex25 << tablepath << "ATLAS-CONF-2016-104_a.dat";
1835  ATLAS13_tt_phi_tt = readTable(ex25.str(),61,2);
1836  ex25e << tablepath << "ATLAS-CONF-2016-104_a_e.dat";
1837  ATLAS13_tt_phi_tt_e = readTable(ex25e.str(),61,2);
1838  ex26 << tablepath << "170907242_a.dat";
1839  ATLAS13_gg_phi_tautau = readTable(ex26.str(),206,2);
1840  ex26e << tablepath << "170907242_a_e.dat";
1841  ATLAS13_gg_phi_tautau_e = readTable(ex26e.str(),206,2);
1842  ex27 << tablepath << "170907242_b.dat";
1843  ATLAS13_bb_phi_tautau = readTable(ex27.str(),206,2);
1844  ex27e << tablepath << "170907242_b_e.dat";
1845  ATLAS13_bb_phi_tautau_e = readTable(ex27e.str(),206,2);
1846  ex28 << tablepath << "170704147.dat";
1847  ATLAS13_pp_phi_gaga = readTable(ex28.str(),251,2);
1848  ex28e << tablepath << "170704147_e.dat";
1849  ATLAS13_pp_phi_gaga_e = readTable(ex28e.str(),251,2);
1850  ex29 << tablepath << "ATLAS-CONF-2016-044.dat";
1851  ATLAS13_pp_phi_Zga = readTable(ex29.str(),216,2);
1852  ex29e << tablepath << "ATLAS-CONF-2016-044_e.dat";
1853  ATLAS13_pp_phi_Zga_e = readTable(ex29e.str(),216,2);
1854  ex30 << tablepath << "ATLAS-CONF-2016-056.dat";
1855  ATLAS13_gg_H_ZZ_llnunu = readTable(ex30.str(),71,2);
1856  ex30e << tablepath << "ATLAS-CONF-2016-056_e.dat";
1857  ATLAS13_gg_H_ZZ_llnunu_e = readTable(ex30e.str(),71,2);
1858  ex31 << tablepath << "ATLAS-CONF-2016-079_a.dat";
1859  ATLAS13_gg_H_ZZ_llll = readTable(ex31.str(),81,2);
1860  ex31e << tablepath << "ATLAS-CONF-2016-079_a_e.dat";
1861  ATLAS13_gg_H_ZZ_llll_e = readTable(ex31e.str(),81,2);
1862  ex32 << tablepath << "ATLAS-CONF-2016-079_b.dat";
1863  ATLAS13_VBF_H_ZZ_llll = readTable(ex32.str(),81,2);
1864  ex32e << tablepath << "ATLAS-CONF-2016-079_b_e.dat";
1865  ATLAS13_VBF_H_ZZ_llll_e = readTable(ex32e.str(),81,2);
1866  ex33 << tablepath << "ATLAS-CONF-2016-082_a.dat";
1867  ATLAS13_gg_H_ZZ_llqq = readTable(ex33.str(),271,2);
1868  ex33e << tablepath << "ATLAS-CONF-2016-082_a_e.dat";
1869  ATLAS13_gg_H_ZZ_llqq_e = readTable(ex33e.str(),271,2);
1870  ex34 << tablepath << "ATLAS-CONF-2016-082_b.dat";
1871  ATLAS13_VBF_H_ZZ_llqq = readTable(ex34.str(),271,2);
1872  ex34e << tablepath << "ATLAS-CONF-2016-082_b_e.dat";
1873  ATLAS13_VBF_H_ZZ_llqq_e = readTable(ex34e.str(),271,2);
1874  ex35 << tablepath << "ATLAS-CONF-2016-082_c.dat";
1875  ATLAS13_gg_H_ZZ_nunuqq = readTable(ex35.str(),251,2);
1876  ex35e << tablepath << "ATLAS-CONF-2016-082_c_e.dat";
1877  ATLAS13_gg_H_ZZ_nunuqq_e = readTable(ex35e.str(),251,2);
1878  ex36 << tablepath << "171001123_a.dat";
1879  ATLAS13_gg_H_WW_enumumu = readTable(ex36.str(),381,2);
1880  ex36e << tablepath << "171001123_a_e.dat";
1881  ATLAS13_gg_H_WW_enumumu_e = readTable(ex36e.str(),381,2);
1882  ex37 << tablepath << "171001123_b.dat";
1883  ATLAS13_VBF_H_WW_enumumu = readTable(ex37.str(),281,2);
1884  ex37e << tablepath << "171001123_b_e.dat";
1885  ATLAS13_VBF_H_WW_enumumu_e = readTable(ex37e.str(),281,2);
1886  ex38 << tablepath << "171007235_a.dat";
1887  ATLAS13_gg_H_WW_lnuqq = readTable(ex38.str(),271,2);
1888  ex38e << tablepath << "171007235_a_e.dat";
1889  ATLAS13_gg_H_WW_lnuqq_e = readTable(ex38e.str(),271,2);
1890  ex39 << tablepath << "ATLAS-CONF-2016-049.dat";
1891  ATLAS13_pp_H_hh_bbbb = readTable(ex39.str(),271,2);
1892  ex39e << tablepath << "ATLAS-CONF-2016-049_e.dat";
1893  ATLAS13_pp_H_hh_bbbb_e = readTable(ex39e.str(),271,2);
1894  ex40 << tablepath << "ATLAS-CONF-2016-004.dat";
1895  ATLAS13_pp_H_hh_gagabb = readTable(ex40.str(),26,2);
1896  ex40e << tablepath << "ATLAS-CONF-2016-004_e.dat";
1897  ATLAS13_pp_H_hh_gagabb_e = readTable(ex40e.str(),26,2);
1898  ex41 << tablepath << "ATLAS-CONF-2016-071.dat";
1899  ATLAS13_pp_H_hh_gagaWW = readTable(ex41.str(),25,2);
1900  ex41e << tablepath << "ATLAS-CONF-2016-071_e.dat";
1901  ATLAS13_pp_H_hh_gagaWW_e = readTable(ex41e.str(),25,2);
1902  ex42 << tablepath << "171206518_a.dat";
1903  ATLAS13_gg_A_Zh_Zbb = readTable(ex42.str(),181,2);
1904  ex42e << tablepath << "171206518_a_e.dat";
1905  ATLAS13_gg_A_Zh_Zbb_e = readTable(ex42e.str(),181,2);
1906  ex43 << tablepath << "171206518_b.dat";
1907  ATLAS13_bb_A_Zh_Zbb = readTable(ex43.str(),181,2);
1908  ex43e << tablepath << "171206518_b_e.dat";
1909  ATLAS13_bb_A_Zh_Zbb_e = readTable(ex43e.str(),181,2);
1910  ex44 << tablepath << "CMS-PAS-HIG-16-025.dat";
1911  CMS13_pp_phi_bb = readTable(ex44.str(),66,2);
1912  ex44e << tablepath << "CMS-PAS-HIG-16-025_e.dat";
1913  CMS13_pp_phi_bb_e = readTable(ex44e.str(),66,2);
1914  ex45 << tablepath << "CMS-PAS-HIG-16-037_a.dat";
1915  CMS13_gg_phi_tautau = readTable(ex45.str(),312,2);
1916  ex45e << tablepath << "CMS-PAS-HIG-16-037_a_e.dat";
1917  CMS13_gg_phi_tautau_e = readTable(ex45e.str(),312,2);
1918  ex46 << tablepath << "CMS-PAS-HIG-16-037_b.dat";
1919  CMS13_bb_phi_tautau = readTable(ex46.str(),312,2);
1920  ex46e << tablepath << "CMS-PAS-HIG-16-037_b_e.dat";
1921  CMS13_bb_phi_tautau_e = readTable(ex46e.str(),312,2);
1922  ex47 << tablepath << "160902507.dat";
1923  CMS13_gg_phi_gaga = readTable(ex47.str(),351,2);
1924  ex47e << tablepath << "160902507_e.dat";
1925  CMS13_gg_phi_gaga_e = readTable(ex47e.str(),351,2);
1926  ex48 << tablepath << "CMS-PAS-EXO-16-034.dat";
1927  CMS13_pp_phi_Zga_llga = readTable(ex48.str(),171,2);
1928  ex48e << tablepath << "CMS-PAS-EXO-16-034_e.dat";
1929  CMS13_pp_phi_Zga_llga_e = readTable(ex48e.str(),171,2);
1930  ex49 << tablepath << "CMS-PAS-EXO-16-035.dat";
1931  CMS13_pp_phi_Zga_qqga = readTable(ex49.str(),236,2);
1932  ex49e << tablepath << "CMS-PAS-EXO-16-035_e.dat";
1933  CMS13_pp_phi_Zga_qqga_e = readTable(ex49e.str(),236,2);
1934  ex50 << tablepath << "CMS-PAS-HIG-16-033_a.dat";
1935  CMS13_pp_H_ZZ_llll = readTable(ex50.str(),241,2);
1936  ex50e << tablepath << "CMS-PAS-HIG-16-033_a_e.dat";
1937  CMS13_pp_H_ZZ_llll_e = readTable(ex50e.str(),241,2);
1938  ex51 << tablepath << "CMS-PAS-HIG-16-033_b.dat";
1939  CMS13_VBFVH_H_ZZ_llll = readTable(ex51.str(),241,2);
1940  ex51e << tablepath << "CMS-PAS-HIG-16-033_b_e.dat";
1941  CMS13_VBFVH_H_ZZ_llll_e = readTable(ex51e.str(),241,2);
1942  ex52 << tablepath << "CMS-PAS-HIG-16-023.dat";
1943  CMS13_ggFVBF_H_WW_lnulnu = readTable(ex52.str(),81,2);
1944  ex52e << tablepath << "CMS-PAS-HIG-16-023_e.dat";
1945  CMS13_ggFVBF_H_WW_lnulnu_e = readTable(ex52e.str(),81,2);
1946  ex53 << tablepath << "180603548.dat";
1947  CMS13_pp_H_hh_bbbb = readTable(ex53.str(),95,2);
1948  ex53e << tablepath << "180603548_e.dat";
1949  CMS13_pp_H_hh_bbbb_e = readTable(ex53e.str(),95,2);
1950  ex54 << tablepath << "180600408.dat";
1951  CMS13_pp_H_hh_gagabb = readTable(ex54.str(),66,2);
1952  ex54e << tablepath << "180600408_e.dat";
1953  CMS13_pp_H_hh_gagabb_e = readTable(ex54e.str(),66,2);
1954  ex55 << tablepath << "CMS-PAS-HIG-16-029.dat";
1955  CMS13_pp_H_hh_bbtautau = readTable(ex55.str(),66,2);
1956  ex55e << tablepath << "CMS-PAS-HIG-16-029_e.dat";
1957  CMS13_pp_H_hh_bbtautau_e = readTable(ex55e.str(),66,2);
1958  ex56 << tablepath << "CMS-PAS-HIG-16-011.dat";
1959  CMS13_pp_H_hh_bblnulnu = readTable(ex56.str(),65,2);
1960  ex56e << tablepath << "CMS-PAS-HIG-16-011_e.dat";
1961  CMS13_pp_H_hh_bblnulnu_e = readTable(ex56e.str(),65,2);
1962 
1963  ex57 << tablepath << "t1.dat";
1964  temp1 = readTable(ex57.str(),1,2);
1965  ex57e << tablepath << "t1_e.dat";
1966  temp1 = readTable(ex57e.str(),1,2);
1967  ex58 << tablepath << "t2.dat";
1968  temp2 = readTable(ex58.str(),1,2);
1969  ex58e << tablepath << "t2_e.dat";
1970  temp2 = readTable(ex58e.str(),1,2);
1971  ex59 << tablepath << "t3.dat";
1972  temp3 = readTable(ex59.str(),1,2);
1973  ex59e << tablepath << "t3_e.dat";
1974  temp3 = readTable(ex59e.str(),1,2);
1975  ex60 << tablepath << "t4.dat";
1976  temp4 = readTable(ex60.str(),1,2);
1977  ex60e << tablepath << "t4_e.dat";
1978  temp4 = readTable(ex60e.str(),1,2);
1979  ex61 << tablepath << "t5.dat";
1980  temp5 = readTable(ex61.str(),1,2);
1981  ex61e << tablepath << "t5_e.dat";
1982  temp5 = readTable(ex61e.str(),1,2);
1983  ex62 << tablepath << "t6.dat";
1984  temp6 = readTable(ex62.str(),1,2);
1985  ex62e << tablepath << "t6_e.dat";
1986  temp6 = readTable(ex62e.str(),1,2);
1987  ex63 << tablepath << "t7.dat";
1988  temp7 = readTable(ex63.str(),1,2);
1989  ex63e << tablepath << "t7_e.dat";
1990  temp7 = readTable(ex63e.str(),1,2);
1991  ex64 << tablepath << "t8.dat";
1992  temp8 = readTable(ex64.str(),1,2);
1993  ex64e << tablepath << "t8_e.dat";
1994  temp8 = readTable(ex64e.str(),1,2);
1995  ex65 << tablepath << "t9.dat";
1996  temp9 = readTable(ex65.str(),1,2);
1997  ex65e << tablepath << "t9_e.dat";
1998  temp9 = readTable(ex65e.str(),1,2);
1999  ex66 << tablepath << "t10.dat";
2000  temp10 = readTable(ex66.str(),1,2);
2001  ex66e << tablepath << "t10_e.dat";
2002  temp10 = readTable(ex66e.str(),1,2);
2003  ex67 << tablepath << "t11.dat";
2004  temp11 = readTable(ex67.str(),1,2);
2005  ex67e << tablepath << "t11_e.dat";
2006  temp11 = readTable(ex67e.str(),1,2);
2007  ex68 << tablepath << "t12.dat";
2008  temp12 = readTable(ex68.str(),1,2);
2009  ex68e << tablepath << "t12_e.dat";
2010  temp12 = readTable(ex68e.str(),1,2);
2011  ex69 << tablepath << "t13.dat";
2012  temp13 = readTable(ex69.str(),1,2);
2013  ex69e << tablepath << "t13_e.dat";
2014  temp13 = readTable(ex69e.str(),1,2);
2015  ex70 << tablepath << "t14.dat";
2016  temp14 = readTable(ex70.str(),1,2);
2017  ex70e << tablepath << "t14_e.dat";
2018  temp14 = readTable(ex70e.str(),1,2);
2019  ex71 << tablepath << "t15.dat";
2020  temp15 = readTable(ex71.str(),1,2);
2021  ex71e << tablepath << "t15_e.dat";
2022  temp15 = readTable(ex71e.str(),1,2);
2023  ex72 << tablepath << "t16.dat";
2024  temp16 = readTable(ex72.str(),1,2);
2025  ex72e << tablepath << "t16_e.dat";
2026  temp16 = readTable(ex72e.str(),1,2);
2027  ex73 << tablepath << "t17.dat";
2028  temp17 = readTable(ex73.str(),1,2);
2029  ex73e << tablepath << "t17_e.dat";
2030  temp17 = readTable(ex73e.str(),1,2);
2031  ex74 << tablepath << "t18.dat";
2032  temp18 = readTable(ex74.str(),1,2);
2033  ex74e << tablepath << "t18_e.dat";
2034  temp18 = readTable(ex74e.str(),1,2);
2035  ex75 << tablepath << "t19.dat";
2036  temp19 = readTable(ex75.str(),1,2);
2037  ex75e << tablepath << "t19_e.dat";
2038  temp19 = readTable(ex75e.str(),1,2);
2039  ex76 << tablepath << "t20.dat";
2040  temp20 = readTable(ex76.str(),1,2);
2041  ex76e << tablepath << "t20_e.dat";
2042  temp20 = readTable(ex76e.str(),1,2);
2043  ex77 << tablepath << "t21.dat";
2044  temp21 = readTable(ex77.str(),1,2);
2045  ex77e << tablepath << "t21_e.dat";
2046  temp21 = readTable(ex77e.str(),1,2);
2047  ex78 << tablepath << "t22.dat";
2048  temp22 = readTable(ex78.str(),1,2);
2049  ex78e << tablepath << "t22_e.dat";
2050  temp22 = readTable(ex78e.str(),1,2);
2051  ex79 << tablepath << "t23.dat";
2052  temp23 = readTable(ex79.str(),1,2);
2053  ex79e << tablepath << "t23_e.dat";
2054  temp23 = readTable(ex79e.str(),1,2);
2055  ex80 << tablepath << "t24.dat";
2056  temp24 = readTable(ex80.str(),1,2);
2057  ex80e << tablepath << "t24_e.dat";
2058  temp24 = readTable(ex80e.str(),1,2);
2059  ex81 << tablepath << "t25.dat";
2060  temp25 = readTable(ex81.str(),1,2);
2061  ex81e << tablepath << "t25_e.dat";
2062  temp25 = readTable(ex81e.str(),1,2);
2063  ex82 << tablepath << "t26.dat";
2064  temp26 = readTable(ex82.str(),1,2);
2065  ex82e << tablepath << "t26_e.dat";
2066  temp26 = readTable(ex82e.str(),1,2);
2067  ex83 << tablepath << "t27.dat";
2068  temp27 = readTable(ex83.str(),1,2);
2069  ex83e << tablepath << "t27_e.dat";
2070  temp27 = readTable(ex83e.str(),1,2);
2071  ex84 << tablepath << "t28.dat";
2072  temp28 = readTable(ex84.str(),1,2);
2073  ex84e << tablepath << "t28_e.dat";
2074  temp28 = readTable(ex84e.str(),1,2);
2075  ex85 << tablepath << "t29.dat";
2076  temp29 = readTable(ex85.str(),1,2);
2077  ex85e << tablepath << "t29_e.dat";
2078  temp29 = readTable(ex85e.str(),1,2);
2079  ex86 << tablepath << "t30.dat";
2080  temp30 = readTable(ex86.str(),1,2);
2081  ex86e << tablepath << "t30_e.dat";
2082  temp30e = readTable(ex86e.str(),1,2);
2083  ex87 << tablepath << "t31.dat";
2084  temp31 = readTable(ex87.str(),1,2);
2085  ex87e << tablepath << "t31_e.dat";
2086  temp31e = readTable(ex87e.str(),1,2);
2087  ex88 << tablepath << "t32.dat";
2088  temp32 = readTable(ex88.str(),1,2);
2089  ex88e << tablepath << "t32_e.dat";
2090  temp32e = readTable(ex88e.str(),1,2);
2091  ex89 << tablepath << "t33.dat";
2092  temp33 = readTable(ex89.str(),1,2);
2093  ex89e << tablepath << "t33_e.dat";
2094  temp33e = readTable(ex89e.str(),1,2);
2095  ex90 << tablepath << "t34.dat";
2096  temp34 = readTable(ex90.str(),1,2);
2097  ex90e << tablepath << "t34_e.dat";
2098  temp34e = readTable(ex90e.str(),1,2);
2099  ex91 << tablepath << "t35.dat";
2100  temp35 = readTable(ex91.str(),1,2);
2101  ex91e << tablepath << "t35_e.dat";
2102  temp35e = readTable(ex91e.str(),1,2);
2103  ex92 << tablepath << "t36.dat";
2104  temp36 = readTable(ex92.str(),1,2);
2105  ex92e << tablepath << "t36_e.dat";
2106  temp36e = readTable(ex92e.str(),1,2);
2107  ex93 << tablepath << "t37.dat";
2108  temp37 = readTable(ex93.str(),1,2);
2109  ex93e << tablepath << "t37_e.dat";
2110  temp37e = readTable(ex93e.str(),1,2);
2111  ex94 << tablepath << "t38.dat";
2112  temp38 = readTable(ex94.str(),1,2);
2113  ex94e << tablepath << "t38_e.dat";
2114  temp38e = readTable(ex94e.str(),1,2);
2115  ex95 << tablepath << "t39.dat";
2116  temp39 = readTable(ex95.str(),1,2);
2117  ex95e << tablepath << "t39_e.dat";
2118  temp39e = readTable(ex95e.str(),1,2);
2119  ex96 << tablepath << "t40.dat";
2120  temp40 = readTable(ex96.str(),1,2);
2121  ex96e << tablepath << "t40_e.dat";
2122  temp40e = readTable(ex96e.str(),1,2);
2123 
2124  ex97 << tablepath << "CMS-PAS-HIG-16-034.dat";
2125  CMS13_pp_H_ZZ_llqq = readTable(ex97.str(),151,2);
2126  ex97e << tablepath << "CMS-PAS-HIG-16-034_e.dat";
2127  CMS13_pp_H_ZZ_llqq_e = readTable(ex97e.str(),151,2);
2128  ex98 << tablepath << "14078150.dat";
2129  ATLAS8_pp_phi_Zga_llga = readTable(ex98.str(),141,2);
2130  ex98e << tablepath << "14078150.dat";
2131  ATLAS8_pp_phi_Zga_llga_e = readTable(ex98e.str(),141,2);
2132 
2133  ex99 << tablepath << "14126663.dat";
2134  ATLAS8_pp_Hpm_taunu = readTable(ex99.str(),83,2);
2135  ex99e << tablepath << "14126663_e.dat";
2136  ATLAS8_pp_Hpm_taunu_e = readTable(ex99e.str(),83,2);
2137  ex100 << tablepath << "151203704.dat";
2138  ATLAS8_pp_Hpm_tb = readTable(ex100.str(),41,2);
2139  ex100e << tablepath << "151203704_e.dat";
2140  ATLAS8_pp_Hpm_tb_e = readTable(ex100e.str(),41,2);
2141  ex101 << tablepath << "150807774_a.dat";
2142  CMS8_pp_Hp_taunu = readTable(ex101.str(),43,2);
2143  ex101e << tablepath << "150807774_a_e.dat";
2144  CMS8_pp_Hp_taunu_e = readTable(ex101e.str(),43,2);
2145  ex102 << tablepath << "150807774_b.dat";
2146  CMS8_pp_Hp_tb = readTable(ex102.str(),43,2);
2147  ex102e << tablepath << "150807774_b_e.dat";
2148  CMS8_pp_Hp_tb_e = readTable(ex102e.str(),43,2);
2149  ex103 << tablepath << "ATLAS-CONF-2016-088.dat";
2150  ATLAS13_pp_Hpm_taunu = readTable(ex103.str(),181,2);
2151  ex103e << tablepath << "ATLAS-CONF-2016-088_e.dat";
2152  ATLAS13_pp_Hpm_taunu_e = readTable(ex103e.str(),181,2);
2153  ex104 << tablepath << "ATLAS-CONF-2016-089.dat";
2154  ATLAS13_pp_Hp_tb1 = readTable(ex104.str(),71,2);
2155  ex104e << tablepath << "ATLAS-CONF-2016-089_e.dat";
2156  ATLAS13_pp_Hp_tb1_e = readTable(ex104e.str(),71,2);
2157  ex105 << tablepath << "ATLAS-CONF-2016-104_c.dat";
2158  ATLAS13_pp_Hp_tb2 = readTable(ex105.str(),181,2);
2159  ex105e << tablepath << "ATLAS-CONF-2016-104_c_e.dat";
2160  ATLAS13_pp_Hp_tb2_e = readTable(ex105e.str(),181,2);
2161  ex106 << tablepath << "CMS-PAS-HIG-16-031.dat";
2162  CMS13_pp_Hpm_taunu = readTable(ex106.str(),283,2);
2163  ex106e << tablepath << "CMS-PAS-HIG-16-031_e.dat";
2164  CMS13_pp_Hpm_taunu_e = readTable(ex106e.str(),283,2);
2165 
2166  ex107 << tablepath << "CMS-PAS-HIG-17-002.dat";
2167  CMS13_pp_H_hh_bbtautau1 = readTable(ex107.str(),66,2);
2168  ex107e << tablepath << "CMS-PAS-HIG-17-002_e.dat";
2169  CMS13_pp_H_hh_bbtautau1_e = readTable(ex107e.str(),66,2);
2170  ex108 << tablepath << "170804188.dat";
2171  CMS13_pp_H_hh_bbVV = readTable(ex108.str(),65,2);
2172  ex108e << tablepath << "170804188_e.dat";
2173  CMS13_pp_H_hh_bbVV_e = readTable(ex108e.str(),65,2);
2174  ex109 << tablepath << "171203143.dat";
2175  CMS13_ggF_phi_Zga = readTable(ex109.str(),366,2);
2176  ex109e << tablepath << "171203143_e.dat";
2177  CMS13_ggF_phi_Zga_e = readTable(ex109e.str(),366,2);
2178  ex110 << tablepath << "171004960.dat";
2179  CMS13_ggF_H_hh_bbbb = readTable(ex110.str(),226,2);
2180  ex110e << tablepath << "171004960_e.dat";
2181  CMS13_ggF_H_hh_bbbb_e = readTable(ex110e.str(),226,2);
2182 
2183  ex111 << tablepath << "171007235_b.dat";
2184  ATLAS13_VBF_H_WW_lnuqq = readTable(ex111.str(),271,2);
2185  ex111e << tablepath << "171007235_b_e.dat";
2186  ATLAS13_VBF_H_WW_lnuqq_e = readTable(ex111e.str(),271,2);
2187  ex112 << tablepath << "170800212.dat";
2188  ATLAS13_gg_phi_Zga_llga = readTable(ex112.str(),216,2);
2189  ex112e << tablepath << "170800212_e.dat";
2190  ATLAS13_gg_phi_Zga_llga_e = readTable(ex112e.str(),216,2);
2191  ex113 << tablepath << "171206386_a.dat";
2192  ATLAS13_gg_H_ZZ_llllnunu = readTable(ex113.str(),101,2);
2193  ex113e << tablepath << "171206386_a_e.dat";
2194  ATLAS13_gg_H_ZZ_llllnunu_e = readTable(ex113e.str(),101,2);
2195  ex114 << tablepath << "171206386_b.dat";
2196  ATLAS13_VBF_H_ZZ_llllnunu = readTable(ex114.str(),101,2);
2197  ex114e << tablepath << "171206386_b_e.dat";
2198  ATLAS13_VBF_H_ZZ_llllnunu_e = readTable(ex114e.str(),101,2);
2199  ex115 << tablepath << "170809638_a.dat";
2200  ATLAS13_gg_H_ZZ_qqllnunu = readTable(ex115.str(),271,2);
2201  ex115e << tablepath << "170809638_a_e.dat";
2202  ATLAS13_gg_H_ZZ_qqllnunu_e = readTable(ex115e.str(),271,2);
2203  ex116 << tablepath << "170809638_b.dat";
2204  ATLAS13_VBF_H_ZZ_qqllnunu = readTable(ex116.str(),271,2);
2205  ex116e << tablepath << "170809638_b_e.dat";
2206  ATLAS13_VBF_H_ZZ_qqllnunu_e = readTable(ex116e.str(),271,2);
2207  ex117 << tablepath << "170804445.dat";
2208  ATLAS13_pp_H_VV_qqqq = readTable(ex117.str(),181,2);
2209  ex117e << tablepath << "170804445_e.dat";
2210  ATLAS13_pp_H_VV_qqqq_e = readTable(ex117e.str(),181,2);
2211  ex118 << tablepath << "CMS-PAS-B2G-16-023.dat";
2212  CMS13_pp_H_ZZ_llnunu = readTable(ex118.str(),191,2);
2213  ex118e << tablepath << "CMS-PAS-B2G-16-023_e.dat";
2214  CMS13_pp_H_ZZ_llnunu_e = readTable(ex118e.str(),191,2);
2215  ex119 << tablepath << "CMS-PAS-HIG-16-001_a.dat";
2216  CMS13_gg_H_ZZ_llnunu = readTable(ex119.str(),131,2);
2217  ex119e << tablepath << "CMS-PAS-HIG-16-001_a_e.dat";
2218  CMS13_gg_H_ZZ_llnunu_e = readTable(ex119e.str(),131,2);
2219  ex120 << tablepath << "CMS-PAS-HIG-16-001_b.dat";
2220  CMS13_VBF_H_ZZ_llnunu = readTable(ex120.str(),131,2);
2221  ex120e << tablepath << "CMS-PAS-HIG-16-001_b_e.dat";
2222  CMS13_VBF_H_ZZ_llnunu_e = readTable(ex120e.str(),131,2);
2223 
2224  ex121 << tablepath << "160302991_a.dat";
2225  CMS8_pp_A_HZ_bbll = readTable(ex121.str(),28718,3);
2226  ex122 << tablepath << "160302991_b.dat";
2227  CMS8_pp_H_AZ_bbll = readTable(ex122.str(),29050,3);
2228  ex123 << tablepath << "160302991_c.dat";
2229  CMS8_pp_A_HZ_tautaull = readTable(ex123.str(),400,3);
2230  ex124 << tablepath << "160302991_d.dat";
2231  CMS8_pp_H_AZ_tautaull = readTable(ex124.str(),400,3);
2232 
2233  bsg1 << tablepath << "bsgammatable.dat";
2234  arraybsgamma = readTable(bsg1.str(),1111,3);
2235 }
2236 
2237 
2238 
2239 double THDMcache::ip_Br_HPtott(double mass){
2240  int NumPar = 1;
2241  double params[] = {mass};
2242 
2243  int i = CacheCheckReal(ip_Br_HPtott_cache, NumPar, params);
2244  if (i>=0) {
2245  return ( ip_Br_HPtott_cache[NumPar][i] );
2246  } else {
2247  double newResult = pow(10.0,interpolate(br_tt,mass));
2248  CacheShiftReal(ip_Br_HPtott_cache, NumPar, params, newResult);
2249  return newResult;
2250  }
2251 }
2252 
2253 
2254 
2255 double THDMcache::ip_Br_HPtobb(double mass){
2256  int NumPar = 1;
2257  double params[] = {mass};
2258 
2259  int i = CacheCheckReal(ip_Br_HPtobb_cache, NumPar, params);
2260  if (i>=0) {
2261  return ( ip_Br_HPtobb_cache[NumPar][i] );
2262  } else {
2263  double newResult = pow(10.0,interpolate(br_bb,mass));
2264  CacheShiftReal(ip_Br_HPtobb_cache, NumPar, params, newResult);
2265  return newResult;
2266  }
2267 }
2268 
2269 
2270 
2271 double THDMcache::ip_Br_HPtotautau(double mass){
2272  int NumPar = 1;
2273  double params[] = {mass};
2274 
2275  int i = CacheCheckReal(ip_Br_HPtotautau_cache, NumPar, params);
2276  if (i>=0) {
2277  return ( ip_Br_HPtotautau_cache[NumPar][i] );
2278  } else {
2279  double newResult = pow(10.0,interpolate(br_tautau,mass));
2280  CacheShiftReal(ip_Br_HPtotautau_cache, NumPar, params, newResult);
2281  return newResult;
2282  }
2283 }
2284 
2285 
2286 
2287 double THDMcache::ip_Br_HPtocc(double mass){
2288  int NumPar = 1;
2289  double params[] = {mass};
2290 
2291  int i = CacheCheckReal(ip_Br_HPtocc_cache, NumPar, params);
2292  if (i>=0) {
2293  return ( ip_Br_HPtocc_cache[NumPar][i] );
2294  } else {
2295  double newResult = pow(10.0,interpolate(br_cc,mass));
2296  CacheShiftReal(ip_Br_HPtocc_cache, NumPar, params, newResult);
2297  return newResult;
2298  }
2299 }
2300 
2301 
2302 
2303 double THDMcache::ip_Br_HPtomumu(double mass){
2304  int NumPar = 1;
2305  double params[] = {mass};
2306 
2307  int i = CacheCheckReal(ip_Br_HPtomumu_cache, NumPar, params);
2308  if (i>=0) {
2309  return ( ip_Br_HPtomumu_cache[NumPar][i] );
2310  } else {
2311  double newResult = pow(10.0,interpolate(br_mumu,mass));
2312  CacheShiftReal(ip_Br_HPtomumu_cache, NumPar, params, newResult);
2313  return newResult;
2314  }
2315 }
2316 
2317 
2318 
2319 double THDMcache::ip_Br_HPtoZZ(double mass){
2320  int NumPar = 1;
2321  double params[] = {mass};
2322 
2323  int i = CacheCheckReal(ip_Br_HPtoZZ_cache, NumPar, params);
2324  if (i>=0) {
2325  return ( ip_Br_HPtoZZ_cache[NumPar][i] );
2326  } else {
2327  double newResult = pow(10.0,interpolate(br_ZZ,mass));
2328  CacheShiftReal(ip_Br_HPtoZZ_cache, NumPar, params, newResult);
2329  return newResult;
2330  }
2331 }
2332 
2333 
2334 
2335 double THDMcache::ip_Br_HPtoWW(double mass){
2336  int NumPar = 1;
2337  double params[] = {mass};
2338 
2339  int i = CacheCheckReal(ip_Br_HPtoWW_cache, NumPar, params);
2340  if (i>=0) {
2341  return ( ip_Br_HPtoWW_cache[NumPar][i] );
2342  } else {
2343  double newResult = pow(10.0,interpolate(br_WW,mass));
2344  CacheShiftReal(ip_Br_HPtoWW_cache, NumPar, params, newResult);
2345  return newResult;
2346  }
2347 }
2348 
2349 
2350 
2351 double THDMcache::ip_GammaHPtotSM(double mass){
2352  int NumPar = 1;
2353  double params[] = {mass};
2354 
2355  int i = CacheCheckReal(ip_GammaHPtotSM_cache, NumPar, params);
2356  if (i>=0) {
2357  return ( ip_GammaHPtotSM_cache[NumPar][i] );
2358  } else {
2359  double newResult = pow(10.0,interpolate(GammaHtot_SM,mass));
2360  CacheShiftReal(ip_GammaHPtotSM_cache, NumPar, params, newResult);
2361  return newResult;
2362  }
2363 }
2364 
2365 
2366 
2367 double THDMcache::ip_cs_ggtoH_8(double mass){
2368  int NumPar = 1;
2369  double params[] = {mass};
2370 
2371  int i = CacheCheckReal(ip_cs_ggtoH_8_cache, NumPar, params);
2372  if (i>=0) {
2373  return ( ip_cs_ggtoH_8_cache[NumPar][i] );
2374  } else {
2375  double newResult = 0.0;
2376  if (mass>=20. && mass <=2000.) {
2377  newResult = pow(10.0,interpolate (log_cs_ggH_8,mass));
2378  }
2379  CacheShiftReal(ip_cs_ggtoH_8_cache, NumPar, params, newResult);
2380  return newResult;
2381  }
2382 }
2383 
2384 
2385 
2386 double THDMcache::ip_cs_ggtoH_13(double mass){
2387  int NumPar = 1;
2388  double params[] = {mass};
2389 
2390  int i = CacheCheckReal(ip_cs_ggtoH_13_cache, NumPar, params);
2391  if (i>=0) {
2392  return ( ip_cs_ggtoH_13_cache[NumPar][i] );
2393  } else {
2394  double newResult = 0.0;
2395  if (mass>=20. && mass <=2000.) {
2396  newResult = pow(10.0,interpolate (log_cs_ggH_13,mass));
2397  }
2398  CacheShiftReal(ip_cs_ggtoH_13_cache, NumPar, params, newResult);
2399  return newResult;
2400  }
2401 }
2402 
2403 
2404 
2405 double THDMcache::ip_cs_VBFtoH_8(double mass){
2406  int NumPar = 1;
2407  double params[] = {mass};
2408 
2409  int i = CacheCheckReal(ip_cs_VBFtoH_8_cache, NumPar, params);
2410  if (i>=0) {
2411  return ( ip_cs_VBFtoH_8_cache[NumPar][i] );
2412  } else {
2413  double newResult = 0.0;
2414  if (mass>=20. && mass <=2000.) {
2415  newResult = pow(10.0,interpolate (log_cs_VBF_8,mass));
2416  }
2417  CacheShiftReal(ip_cs_VBFtoH_8_cache, NumPar, params, newResult);
2418  return newResult;
2419  }
2420 }
2421 
2422 
2423 
2424 double THDMcache::ip_cs_VBFtoH_13(double mass){
2425  int NumPar = 1;
2426  double params[] = {mass};
2427 
2428  int i = CacheCheckReal(ip_cs_VBFtoH_13_cache, NumPar, params);
2429  if (i>=0) {
2430  return ( ip_cs_VBFtoH_13_cache[NumPar][i] );
2431  } else {
2432  double newResult = 0.0;
2433  if (mass>=20. && mass <=2000.) {
2434  newResult = pow(10.0,interpolate (log_cs_VBF_13,mass));
2435  }
2436  CacheShiftReal(ip_cs_VBFtoH_13_cache, NumPar, params, newResult);
2437  return newResult;
2438  }
2439 }
2440 
2441 
2442 
2443 double THDMcache::ip_cs_WtoWH_8(double mass){
2444  int NumPar = 1;
2445  double params[] = {mass};
2446 
2447  int i = CacheCheckReal(ip_cs_WtoWH_8_cache, NumPar, params);
2448  if (i>=0) {
2449  return ( ip_cs_WtoWH_8_cache[NumPar][i] );
2450  } else {
2451  double newResult = 0.0;
2452  if (mass>=20. && mass <=2000.) {
2453  newResult = pow(10.0,interpolate (log_cs_WH_8,mass));
2454  }
2455  CacheShiftReal(ip_cs_WtoWH_8_cache, NumPar, params, newResult);
2456  return newResult;
2457  }
2458 }
2459 
2460 
2461 
2462 double THDMcache::ip_cs_WtoWH_13(double mass){
2463  int NumPar = 1;
2464  double params[] = {mass};
2465 
2466  int i = CacheCheckReal(ip_cs_WtoWH_13_cache, NumPar, params);
2467  if (i>=0) {
2468  return ( ip_cs_WtoWH_13_cache[NumPar][i] );
2469  } else {
2470  double newResult = 0.0;
2471  if (mass>=20. && mass <=2000.) {
2472  newResult = pow(10.0,interpolate (log_cs_WH_13,mass));
2473  }
2474  CacheShiftReal(ip_cs_WtoWH_13_cache, NumPar, params, newResult);
2475  return newResult;
2476  }
2477 }
2478 
2479 
2480 
2481 double THDMcache::ip_cs_ZtoZH_8(double mass){
2482  int NumPar = 1;
2483  double params[] = {mass};
2484 
2485  int i = CacheCheckReal(ip_cs_ZtoZH_8_cache, NumPar, params);
2486  if (i>=0) {
2487  return ( ip_cs_ZtoZH_8_cache[NumPar][i] );
2488  } else {
2489  double newResult = 0.0;
2490  if (mass>=20. && mass <=2000.) {
2491  newResult = pow(10.0,interpolate (log_cs_ZH_8,mass));
2492  }
2493  CacheShiftReal(ip_cs_ZtoZH_8_cache, NumPar, params, newResult);
2494  return newResult;
2495  }
2496 }
2497 
2498 
2499 
2500 double THDMcache::ip_cs_ZtoZH_13(double mass){
2501  int NumPar = 1;
2502  double params[] = {mass};
2503 
2504  int i = CacheCheckReal(ip_cs_ZtoZH_13_cache, NumPar, params);
2505  if (i>=0) {
2506  return ( ip_cs_ZtoZH_13_cache[NumPar][i] );
2507  } else {
2508  double newResult = 0.0;
2509  if (mass>=20. && mass <=2000.) {
2510  newResult = pow(10.0,interpolate (log_cs_ZH_13,mass));
2511  }
2512  CacheShiftReal(ip_cs_ZtoZH_13_cache, NumPar, params, newResult);
2513  return newResult;
2514  }
2515 }
2516 
2517 
2518 
2519 double THDMcache::ip_cs_pptottH_8(double mass){
2520  int NumPar = 1;
2521  double params[] = {mass};
2522 
2523  int i = CacheCheckReal(ip_cs_pptottH_8_cache, NumPar, params);
2524  if (i>=0) {
2525  return ( ip_cs_pptottH_8_cache[NumPar][i] );
2526  } else {
2527  double newResult = 0.0;
2528  if (mass>=20. && mass <=2000.) {
2529  newResult = pow(10.0,interpolate (log_cs_ttH_8,mass));
2530  }
2531  CacheShiftReal(ip_cs_pptottH_8_cache, NumPar, params, newResult);
2532  return newResult;
2533  }
2534 }
2535 
2536 
2537 
2538 double THDMcache::ip_cs_pptottH_13(double mass){
2539  int NumPar = 1;
2540  double params[] = {mass};
2541 
2542  int i = CacheCheckReal(ip_cs_pptottH_13_cache, NumPar, params);
2543  if (i>=0) {
2544  return ( ip_cs_pptottH_13_cache[NumPar][i] );
2545  } else {
2546  double newResult = 0.0;
2547  if (mass>=20. && mass <=2000.) {
2548  newResult = pow(10.0,interpolate (log_cs_ttH_13,mass));
2549  }
2550  CacheShiftReal(ip_cs_pptottH_13_cache, NumPar, params, newResult);
2551  return newResult;
2552  }
2553 }
2554 
2555 
2556 
2557 double THDMcache::ip_cs_pptobbH_8(double mass){
2558  int NumPar = 1;
2559  double params[] = {mass};
2560 
2561  int i = CacheCheckReal(ip_cs_pptobbH_8_cache, NumPar, params);
2562  if (i>=0) {
2563  return ( ip_cs_pptobbH_8_cache[NumPar][i] );
2564  } else {
2565  double newResult = 0.0;
2566  if (mass>=20. && mass <=2000.) {
2567  newResult = pow(10.0,interpolate (log_cs_bbH_8,mass));
2568  }
2569  CacheShiftReal(ip_cs_pptobbH_8_cache, NumPar, params, newResult);
2570  return newResult;
2571  }
2572 }
2573 
2574 
2575 
2576 double THDMcache::ip_cs_pptobbH_13(double mass){
2577  int NumPar = 1;
2578  double params[] = {mass};
2579 
2580  int i = CacheCheckReal(ip_cs_pptobbH_13_cache, NumPar, params);
2581  if (i>=0) {
2582  return ( ip_cs_pptobbH_13_cache[NumPar][i] );
2583  } else {
2584  double newResult = 0.0;
2585  if (mass>=20. && mass <=2000.) {
2586  newResult = pow(10.0,interpolate (log_cs_bbH_13,mass));
2587  }
2588  CacheShiftReal(ip_cs_pptobbH_13_cache, NumPar, params, newResult);
2589  return newResult;
2590  }
2591 }
2592 
2593 
2594 
2595 double THDMcache::ip_cs_ggtoA_8(double mass){
2596  int NumPar = 1;
2597  double params[] = {mass};
2598 
2599  int i = CacheCheckReal(ip_cs_ggtoA_8_cache, NumPar, params);
2600  if (i>=0) {
2601  return ( ip_cs_ggtoA_8_cache[NumPar][i] );
2602  } else {
2603  double newResult = 0.0;
2604  if (mass>=20. && mass <=2000.) {
2605  newResult = pow(10.0,interpolate (log_cs_ggA_8,mass));
2606  }
2607  CacheShiftReal(ip_cs_ggtoA_8_cache, NumPar, params, newResult);
2608  return newResult;
2609  }
2610 }
2611 
2612 
2613 
2614 double THDMcache::ip_cs_ggtoA_13(double mass){
2615  int NumPar = 1;
2616  double params[] = {mass};
2617 
2618  int i = CacheCheckReal(ip_cs_ggtoA_13_cache, NumPar, params);
2619  if (i>=0) {
2620  return ( ip_cs_ggtoA_13_cache[NumPar][i] );
2621  } else {
2622  double newResult = 0.0;
2623  if (mass>=20. && mass <=2000.) {
2624  newResult = pow(10.0,interpolate (log_cs_ggA_13,mass));
2625  }
2626  CacheShiftReal(ip_cs_ggtoA_13_cache, NumPar, params, newResult);
2627  return newResult;
2628  }
2629 }
2630 
2631 
2632 
2633 double THDMcache::ip_cs_pptottA_8(double mass){
2634  int NumPar = 1;
2635  double params[] = {mass};
2636 
2637  int i = CacheCheckReal(ip_cs_pptottA_8_cache, NumPar, params);
2638  if (i>=0) {
2639  return ( ip_cs_pptottA_8_cache[NumPar][i] );
2640  } else {
2641  double newResult = 0.0;
2642  if (mass>=20. && mass <=2000.) {
2643  newResult = pow(10.0,interpolate (log_cs_ttA_8,mass));
2644  }
2645  CacheShiftReal(ip_cs_pptottA_8_cache, NumPar, params, newResult);
2646  return newResult;
2647  }
2648 }
2649 
2650 
2651 
2652 double THDMcache::ip_cs_pptottA_13(double mass){
2653  int NumPar = 1;
2654  double params[] = {mass};
2655 
2656  int i = CacheCheckReal(ip_cs_pptottA_13_cache, NumPar, params);
2657  if (i>=0) {
2658  return ( ip_cs_pptottA_13_cache[NumPar][i] );
2659  } else {
2660  double newResult = 0.0;
2661  if (mass>=20. && mass <=2000.) {
2662  newResult = pow(10.0,interpolate (log_cs_ttA_13,mass));
2663  }
2664  CacheShiftReal(ip_cs_pptottA_13_cache, NumPar, params, newResult);
2665  return newResult;
2666  }
2667 }
2668 
2669 
2670 
2671 double THDMcache::ip_cs_pptobbA_8(double mass){
2672  int NumPar = 1;
2673  double params[] = {mass};
2674 
2675  int i = CacheCheckReal(ip_cs_pptobbA_8_cache, NumPar, params);
2676  if (i>=0) {
2677  return ( ip_cs_pptobbA_8_cache[NumPar][i] );
2678  } else {
2679  double newResult = 0.0;
2680  if (mass>=20. && mass <=2000.) {
2681  newResult = pow(10.0,interpolate (log_cs_bbA_8,mass));
2682  }
2683  CacheShiftReal(ip_cs_pptobbA_8_cache, NumPar, params, newResult);
2684  return newResult;
2685  }
2686 }
2687 
2688 
2689 
2690 double THDMcache::ip_cs_pptobbA_13(double mass){
2691  int NumPar = 1;
2692  double params[] = {mass};
2693 
2694  int i = CacheCheckReal(ip_cs_pptobbA_13_cache, NumPar, params);
2695  if (i>=0) {
2696  return ( ip_cs_pptobbA_13_cache[NumPar][i] );
2697  } else {
2698  double newResult = 0.0;
2699  if (mass>=20. && mass <=2000.) {
2700  newResult = pow(10.0,interpolate (log_cs_bbA_13,mass));
2701  }
2702  CacheShiftReal(ip_cs_pptobbA_13_cache, NumPar, params, newResult);
2703  return newResult;
2704  }
2705 }
2706 
2707 
2708 
2709 double THDMcache::ip_cs_ggtoHp_8(double mHp, double logtb){
2710  int NumPar = 2;
2711  double params[] = {mHp, logtb};
2712 
2713  int i = CacheCheckReal(ip_cs_ggtoHp_8_cache, NumPar, params);
2714  if (i>=0) {
2715  return ( ip_cs_ggtoHp_8_cache[NumPar][i] );
2716  } else {
2717  double newResult = 0.0;
2718  if (mHp>=180. && mHp <=1400. && logtb>=-1. && logtb<=1.75) {
2719  newResult = pow(10.0,interpolate2D(log_cs_ggHp_8, logtb, mHp));
2720  }
2721  CacheShiftReal(ip_cs_ggtoHp_8_cache, NumPar, params, newResult);
2722  return newResult;
2723  }
2724 }
2725 
2726 
2727 
2728 double THDMcache::ip_cs_ggtoHp_13(double mHp, double logtb){
2729  int NumPar = 2;
2730  double params[] = {mHp, logtb};
2731 
2732  int i = CacheCheckReal(ip_cs_ggtoHp_13_cache, NumPar, params);
2733  if (i>=0) {
2734  return ( ip_cs_ggtoHp_13_cache[NumPar][i] );
2735  } else {
2736  double newResult = 0.0;
2737  if (mHp>=180. && mHp <=2000. && logtb>=-1. && logtb<=1.75) {
2738  newResult = pow(10.0,interpolate2D(log_cs_ggHp_13, logtb, mHp));
2739  }
2740  CacheShiftReal(ip_cs_ggtoHp_13_cache, NumPar, params, newResult);
2741  return newResult;
2742  }
2743 }
2744 
2745 
2746 
2747 double THDMcache::ip_csr_ggH_t_8(double mass){
2748  int NumPar = 1;
2749  double params[] = {mass};
2750 
2751  int i = CacheCheckReal(ip_csr_ggH_t_8_cache, NumPar, params);
2752  if (i>=0) {
2753  return ( ip_csr_ggH_t_8_cache[NumPar][i] );
2754  } else {
2755  double newResult = interpolate (csrH_top_8,mass);
2756  CacheShiftReal(ip_csr_ggH_t_8_cache, NumPar, params, newResult);
2757  return newResult;
2758  }
2759 }
2760 
2761 
2762 
2763 double THDMcache::ip_csr_ggH_t_13(double mass){
2764  int NumPar = 1;
2765  double params[] = {mass};
2766 
2767  int i = CacheCheckReal(ip_csr_ggH_t_13_cache, NumPar, params);
2768  if (i>=0) {
2769  return ( ip_csr_ggH_t_13_cache[NumPar][i] );
2770  } else {
2771  double newResult = interpolate (csrH_top_13,mass);
2772  CacheShiftReal(ip_csr_ggH_t_13_cache, NumPar, params, newResult);
2773  return newResult;
2774  }
2775 }
2776 
2777 
2778 
2779 double THDMcache::ip_csr_ggH_b_8(double mass){
2780  int NumPar = 1;
2781  double params[] = {mass};
2782 
2783  int i = CacheCheckReal(ip_csr_ggH_b_8_cache, NumPar, params);
2784  if (i>=0) {
2785  return ( ip_csr_ggH_b_8_cache[NumPar][i] );
2786  } else {
2787  double newResult = interpolate (csrH_bottom_8,mass);
2788  CacheShiftReal(ip_csr_ggH_b_8_cache, NumPar, params, newResult);
2789  return newResult;
2790  }
2791 }
2792 
2793 
2794 
2795 double THDMcache::ip_csr_ggH_b_13(double mass){
2796  int NumPar = 1;
2797  double params[] = {mass};
2798 
2799  int i = CacheCheckReal(ip_csr_ggH_b_13_cache, NumPar, params);
2800  if (i>=0) {
2801  return ( ip_csr_ggH_b_13_cache[NumPar][i] );
2802  } else {
2803  double newResult = interpolate (csrH_bottom_13,mass);
2804  CacheShiftReal(ip_csr_ggH_b_13_cache, NumPar, params, newResult);
2805  return newResult;
2806  }
2807 }
2808 
2809 
2810 
2811 double THDMcache::ip_csr_ggA_t_8(double mass){
2812  int NumPar = 1;
2813  double params[] = {mass};
2814 
2815  int i = CacheCheckReal(ip_csr_ggA_t_8_cache, NumPar, params);
2816  if (i>=0) {
2817  return ( ip_csr_ggA_t_8_cache[NumPar][i] );
2818  } else {
2819  double newResult = interpolate (csrA_top_8,mass);
2820  CacheShiftReal(ip_csr_ggA_t_8_cache, NumPar, params, newResult);
2821  return newResult;
2822  }
2823 }
2824 
2825 
2826 
2827 double THDMcache::ip_csr_ggA_t_13(double mass){
2828  int NumPar = 1;
2829  double params[] = {mass};
2830 
2831  int i = CacheCheckReal(ip_csr_ggA_t_13_cache, NumPar, params);
2832  if (i>=0) {
2833  return ( ip_csr_ggA_t_13_cache[NumPar][i] );
2834  } else {
2835  double newResult = interpolate (csrA_top_13,mass);
2836  CacheShiftReal(ip_csr_ggA_t_13_cache, NumPar, params, newResult);
2837  return newResult;
2838  }
2839 }
2840 
2841 
2842 
2843 double THDMcache::ip_csr_ggA_b_8(double mass){
2844  int NumPar = 1;
2845  double params[] = {mass};
2846 
2847  int i = CacheCheckReal(ip_csr_ggA_b_8_cache, NumPar, params);
2848  if (i>=0) {
2849  return ( ip_csr_ggA_b_8_cache[NumPar][i] );
2850  } else {
2851  double newResult = interpolate (csrA_bottom_8,mass);
2852  CacheShiftReal(ip_csr_ggA_b_8_cache, NumPar, params, newResult);
2853  return newResult;
2854  }
2855 }
2856 
2857 
2858 
2859 double THDMcache::ip_csr_ggA_b_13(double mass){
2860  int NumPar = 1;
2861  double params[] = {mass};
2862 
2863  int i = CacheCheckReal(ip_csr_ggA_b_13_cache, NumPar, params);
2864  if (i>=0) {
2865  return ( ip_csr_ggA_b_13_cache[NumPar][i] );
2866  } else {
2867  double newResult = interpolate (csrA_bottom_13,mass);
2868  CacheShiftReal(ip_csr_ggA_b_13_cache, NumPar, params, newResult);
2869  return newResult;
2870  }
2871 }
2872 
2873 
2874 
2876  int NumPar = 1;
2877  double params[] = {mass};
2878 
2879  int i = CacheCheckReal(ip_ex_pp_phi_gaga_ATLAS8_cache, NumPar, params);
2880  if (i>=0) {
2881  return ( ip_ex_pp_phi_gaga_ATLAS8_cache[NumPar][i] );
2882  } else {
2883  double newResult = interpolate(ATLAS8_pp_phi_gaga,mass);
2884  CacheShiftReal(ip_ex_pp_phi_gaga_ATLAS8_cache, NumPar, params, newResult);
2885  return newResult;
2886  }
2887 }
2888 
2889 
2890 
2892  int NumPar = 1;
2893  double params[] = {mass};
2894 
2895  int i = CacheCheckReal(ip_ex_pp_phi_gaga_ATLAS8_cache_e, NumPar, params);
2896  if (i>=0) {
2897  return ( ip_ex_pp_phi_gaga_ATLAS8_cache_e[NumPar][i] );
2898  } else {
2899  double newResult = interpolate(ATLAS8_pp_phi_gaga_e,mass);
2900  CacheShiftReal(ip_ex_pp_phi_gaga_ATLAS8_cache_e, NumPar, params, newResult);
2901  return newResult;
2902  }
2903 }
2904 
2905 
2906 
2908  int NumPar = 1;
2909  double params[] = {mass};
2910 
2911  int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_ATLAS8_cache, NumPar, params);
2912  if (i>=0) {
2913  return ( ip_ex_pp_phi_Zga_llga_ATLAS8_cache[NumPar][i] );
2914  } else {
2915  double newResult = interpolate (ATLAS8_pp_phi_Zga_llga,mass);
2916  CacheShiftReal(ip_ex_pp_phi_Zga_llga_ATLAS8_cache, NumPar, params, newResult);
2917  return newResult;
2918  }
2919 }
2920 
2921 
2922 
2924  int NumPar = 1;
2925  double params[] = {mass};
2926 
2927  int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_ATLAS8_cache_e, NumPar, params);
2928  if (i>=0) {
2929  return ( ip_ex_pp_phi_Zga_llga_ATLAS8_cache_e[NumPar][i] );
2930  } else {
2931  double newResult = interpolate (ATLAS8_pp_phi_Zga_llga_e,mass);
2932  CacheShiftReal(ip_ex_pp_phi_Zga_llga_ATLAS8_cache_e, NumPar, params, newResult);
2933  return newResult;
2934  }
2935 }
2936 
2937 
2938 
2940  int NumPar = 1;
2941  double params[] = {mass};
2942 
2943  int i = CacheCheckReal(ip_ex_gg_phi_tautau_ATLAS8_cache, NumPar, params);
2944  if (i>=0) {
2945  return ( ip_ex_gg_phi_tautau_ATLAS8_cache[NumPar][i] );
2946  } else {
2947  double newResult = interpolate(ATLAS8_gg_phi_tautau,mass);
2948  CacheShiftReal(ip_ex_gg_phi_tautau_ATLAS8_cache, NumPar, params, newResult);
2949  return newResult;
2950  }
2951 }
2952 
2953 
2954 
2956  int NumPar = 1;
2957  double params[] = {mass};
2958 
2959  int i = CacheCheckReal(ip_ex_gg_phi_tautau_ATLAS8_cache_e, NumPar, params);
2960  if (i>=0) {
2961  return ( ip_ex_gg_phi_tautau_ATLAS8_cache_e[NumPar][i] );
2962  } else {
2963  double newResult = interpolate(ATLAS8_gg_phi_tautau_e,mass);
2964  CacheShiftReal(ip_ex_gg_phi_tautau_ATLAS8_cache_e, NumPar, params, newResult);
2965  return newResult;
2966  }
2967 }
2968 
2969 
2970 
2972  int NumPar = 1;
2973  double params[] = {mass};
2974 
2975  int i = CacheCheckReal(ip_ex_bb_phi_tautau_ATLAS8_cache, NumPar, params);
2976  if (i>=0) {
2977  return ( ip_ex_bb_phi_tautau_ATLAS8_cache[NumPar][i] );
2978  } else {
2979  double newResult = interpolate(ATLAS8_bb_phi_tautau,mass);
2980  CacheShiftReal(ip_ex_bb_phi_tautau_ATLAS8_cache, NumPar, params, newResult);
2981  return newResult;
2982  }
2983 }
2984 
2985 
2986 
2988  int NumPar = 1;
2989  double params[] = {mass};
2990 
2991  int i = CacheCheckReal(ip_ex_bb_phi_tautau_ATLAS8_cache_e, NumPar, params);
2992  if (i>=0) {
2993  return ( ip_ex_bb_phi_tautau_ATLAS8_cache_e[NumPar][i] );
2994  } else {
2995  double newResult = interpolate(ATLAS8_bb_phi_tautau_e,mass);
2996  CacheShiftReal(ip_ex_bb_phi_tautau_ATLAS8_cache_e, NumPar, params, newResult);
2997  return newResult;
2998  }
2999 }
3000 
3001 
3002 
3004  int NumPar = 1;
3005  double params[] = {mass};
3006 
3007  int i = CacheCheckReal(ip_ex_gg_A_hZ_tautauZ_ATLAS8_cache, NumPar, params);
3008  if (i>=0) {
3009  return ( ip_ex_gg_A_hZ_tautauZ_ATLAS8_cache[NumPar][i] );
3010  } else {
3011  double newResult = interpolate(ATLAS8_gg_A_hZ_tautauZ,mass);
3012  CacheShiftReal(ip_ex_gg_A_hZ_tautauZ_ATLAS8_cache, NumPar, params, newResult);
3013  return newResult;
3014  }
3015 }
3016 
3017 
3018 
3020  int NumPar = 1;
3021  double params[] = {mass};
3022 
3023  int i = CacheCheckReal(ip_ex_gg_A_hZ_tautauZ_ATLAS8_cache_e, NumPar, params);
3024  if (i>=0) {
3025  return ( ip_ex_gg_A_hZ_tautauZ_ATLAS8_cache_e[NumPar][i] );
3026  } else {
3027  double newResult = interpolate(ATLAS8_gg_A_hZ_tautauZ_e,mass);
3028  CacheShiftReal(ip_ex_gg_A_hZ_tautauZ_ATLAS8_cache_e, NumPar, params, newResult);
3029  return newResult;
3030  }
3031 }
3032 
3033 
3034 
3036  int NumPar = 1;
3037  double params[] = {mass};
3038 
3039  int i = CacheCheckReal(ip_ex_gg_A_hZ_bbZ_ATLAS8_cache, NumPar, params);
3040  if (i>=0) {
3041  return ( ip_ex_gg_A_hZ_bbZ_ATLAS8_cache[NumPar][i] );
3042  } else {
3043  double newResult = interpolate(ATLAS8_gg_A_hZ_bbZ,mass);
3044  CacheShiftReal(ip_ex_gg_A_hZ_bbZ_ATLAS8_cache, NumPar, params, newResult);
3045  return newResult;
3046  }
3047 }
3048 
3049 
3050 
3051 
3052 
3054  int NumPar = 1;
3055  double params[] = {mass};
3056 
3057  int i = CacheCheckReal(ip_ex_gg_A_hZ_bbZ_ATLAS8_cache_e, NumPar, params);
3058  if (i>=0) {
3059  return ( ip_ex_gg_A_hZ_bbZ_ATLAS8_cache_e[NumPar][i] );
3060  } else {
3061  double newResult = interpolate(ATLAS8_gg_A_hZ_bbZ_e,mass);
3062  CacheShiftReal(ip_ex_gg_A_hZ_bbZ_ATLAS8_cache_e, NumPar, params, newResult);
3063  return newResult;
3064  }
3065 }
3066 
3067 
3068 
3070  int NumPar = 1;
3071  double params[] = {mass};
3072 
3073  int i = CacheCheckReal(ip_ex_gg_phi_tt_ATLAS8_cache, NumPar, params);
3074  if (i>=0) {
3075  return ( ip_ex_gg_phi_tt_ATLAS8_cache[NumPar][i] );
3076  } else {
3077  double newResult = interpolate (ATLAS8_gg_phi_tt,mass);
3078  CacheShiftReal(ip_ex_gg_phi_tt_ATLAS8_cache, NumPar, params, newResult);
3079  return newResult;
3080  }
3081 }
3082 
3083 
3084 
3086  int NumPar = 1;
3087  double params[] = {mass};
3088 
3089  int i = CacheCheckReal(ip_ex_gg_phi_tt_ATLAS8_cache_e, NumPar, params);
3090  if (i>=0) {
3091  return ( ip_ex_gg_phi_tt_ATLAS8_cache_e[NumPar][i] );
3092  } else {
3093  double newResult = interpolate (ATLAS8_gg_phi_tt_e,mass);
3094  CacheShiftReal(ip_ex_gg_phi_tt_ATLAS8_cache_e, NumPar, params, newResult);
3095  return newResult;
3096  }
3097 }
3098 
3099 
3100 
3102  int NumPar = 1;
3103  double params[] = {mass};
3104 
3105  int i = CacheCheckReal(ip_ex_gg_H_WW_ATLAS8_cache, NumPar, params);
3106  if (i>=0) {
3107  return ( ip_ex_gg_H_WW_ATLAS8_cache[NumPar][i] );
3108  } else {
3109  double newResult = interpolate (ATLAS8_gg_H_WW,mass);
3110  CacheShiftReal(ip_ex_gg_H_WW_ATLAS8_cache, NumPar, params, newResult);
3111  return newResult;
3112  }
3113 }
3114 
3115 
3116 
3118  int NumPar = 1;
3119  double params[] = {mass};
3120 
3121  int i = CacheCheckReal(ip_ex_gg_H_WW_ATLAS8_cache_e, NumPar, params);
3122  if (i>=0) {
3123  return ( ip_ex_gg_H_WW_ATLAS8_cache_e[NumPar][i] );
3124  } else {
3125  double newResult = interpolate (ATLAS8_gg_H_WW_e,mass);
3126  CacheShiftReal(ip_ex_gg_H_WW_ATLAS8_cache_e, NumPar, params, newResult);
3127  return newResult;
3128  }
3129 }
3130 
3131 
3132 
3134  int NumPar = 1;
3135  double params[] = {mass};
3136 
3137  int i = CacheCheckReal(ip_ex_VBF_H_WW_ATLAS8_cache, NumPar, params);
3138  if (i>=0) {
3139  return ( ip_ex_VBF_H_WW_ATLAS8_cache[NumPar][i] );
3140  } else {
3141  double newResult = interpolate (ATLAS8_VBF_H_WW,mass);
3142  CacheShiftReal(ip_ex_VBF_H_WW_ATLAS8_cache, NumPar, params, newResult);
3143  return newResult;
3144  }
3145 }
3146 
3147 
3148 
3150  int NumPar = 1;
3151  double params[] = {mass};
3152 
3153  int i = CacheCheckReal(ip_ex_VBF_H_WW_ATLAS8_cache_e, NumPar, params);
3154  if (i>=0) {
3155  return ( ip_ex_VBF_H_WW_ATLAS8_cache_e[NumPar][i] );
3156  } else {
3157  double newResult = interpolate (ATLAS8_VBF_H_WW_e,mass);
3158  CacheShiftReal(ip_ex_VBF_H_WW_ATLAS8_cache_e, NumPar, params, newResult);
3159  return newResult;
3160  }
3161 }
3162 
3163 
3164 
3166  int NumPar = 1;
3167  double params[] = {mass};
3168 
3169  int i = CacheCheckReal(ip_ex_gg_H_ZZ_ATLAS8_cache, NumPar, params);
3170  if (i>=0) {
3171  return ( ip_ex_gg_H_ZZ_ATLAS8_cache[NumPar][i] );
3172  } else {
3173  double newResult = interpolate (ATLAS8_gg_H_ZZ,mass);
3174  CacheShiftReal(ip_ex_gg_H_ZZ_ATLAS8_cache, NumPar, params, newResult);
3175  return newResult;
3176  }
3177 }
3178 
3179 
3180 
3182  int NumPar = 1;
3183  double params[] = {mass};
3184 
3185  int i = CacheCheckReal(ip_ex_gg_H_ZZ_ATLAS8_cache_e, NumPar, params);
3186  if (i>=0) {
3187  return ( ip_ex_gg_H_ZZ_ATLAS8_cache_e[NumPar][i] );
3188  } else {
3189  double newResult = interpolate (ATLAS8_gg_H_ZZ_e,mass);
3190  CacheShiftReal(ip_ex_gg_H_ZZ_ATLAS8_cache_e, NumPar, params, newResult);
3191  return newResult;
3192  }
3193 }
3194 
3195 
3196 
3198  int NumPar = 1;
3199  double params[] = {mass};
3200 
3201  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_ATLAS8_cache, NumPar, params);
3202  if (i>=0) {
3203  return ( ip_ex_VBF_H_ZZ_ATLAS8_cache[NumPar][i] );
3204  } else {
3205  double newResult = interpolate (ATLAS8_VBF_H_ZZ,mass);
3206  CacheShiftReal(ip_ex_VBF_H_ZZ_ATLAS8_cache, NumPar, params, newResult);
3207  return newResult;
3208  }
3209 }
3210 
3211 
3212 
3214  int NumPar = 1;
3215  double params[] = {mass};
3216 
3217  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_ATLAS8_cache_e, NumPar, params);
3218  if (i>=0) {
3219  return ( ip_ex_VBF_H_ZZ_ATLAS8_cache_e[NumPar][i] );
3220  } else {
3221  double newResult = interpolate (ATLAS8_VBF_H_ZZ_e,mass);
3222  CacheShiftReal(ip_ex_VBF_H_ZZ_ATLAS8_cache_e, NumPar, params, newResult);
3223  return newResult;
3224  }
3225 }
3226 
3227 
3228 
3230  int NumPar = 1;
3231  double params[] = {mass};
3232 
3233  int i = CacheCheckReal(ip_ex_gg_H_hh_ATLAS8_cache, NumPar, params);
3234  if (i>=0) {
3235  return ( ip_ex_gg_H_hh_ATLAS8_cache[NumPar][i] );
3236  } else {
3237  double newResult = interpolate (ATLAS8_gg_H_hh,mass);
3238  CacheShiftReal(ip_ex_gg_H_hh_ATLAS8_cache, NumPar, params, newResult);
3239  return newResult;
3240  }
3241 }
3242 
3243 
3244 
3246  int NumPar = 1;
3247  double params[] = {mass};
3248 
3249  int i = CacheCheckReal(ip_ex_gg_H_hh_ATLAS8_cache_e, NumPar, params);
3250  if (i>=0) {
3251  return ( ip_ex_gg_H_hh_ATLAS8_cache_e[NumPar][i] );
3252  } else {
3253  double newResult = interpolate (ATLAS8_gg_H_hh_e,mass);
3254  CacheShiftReal(ip_ex_gg_H_hh_ATLAS8_cache_e, NumPar, params, newResult);
3255  return newResult;
3256  }
3257 }
3258 
3259 
3260 
3262  int NumPar = 1;
3263  double params[] = {mass};
3264 
3265  int i = CacheCheckReal(ip_ex_mu_pp_H_VV_CMS8_cache, NumPar, params);
3266  if (i>=0) {
3267  return ( ip_ex_mu_pp_H_VV_CMS8_cache[NumPar][i] );
3268  } else {
3269  double newResult = interpolate(CMS8_mu_pp_H_VV,mass);
3270  CacheShiftReal(ip_ex_mu_pp_H_VV_CMS8_cache, NumPar, params, newResult);
3271  return newResult;
3272  }
3273 }
3274 
3275 
3276 
3278  int NumPar = 1;
3279  double params[] = {mass};
3280 
3281  int i = CacheCheckReal(ip_ex_mu_pp_H_VV_CMS8_cache_e, NumPar, params);
3282  if (i>=0) {
3283  return ( ip_ex_mu_pp_H_VV_CMS8_cache_e[NumPar][i] );
3284  } else {
3285  double newResult = interpolate(CMS8_mu_pp_H_VV_e,mass);
3286  CacheShiftReal(ip_ex_mu_pp_H_VV_CMS8_cache_e, NumPar, params, newResult);
3287  return newResult;
3288  }
3289 }
3290 
3291 
3292 
3294  int NumPar = 1;
3295  double params[] = {mass};
3296 
3297  int i = CacheCheckReal(ip_ex_gg_A_hZ_bbll_CMS8_cache, NumPar, params);
3298  if (i>=0) {
3299  return ( ip_ex_gg_A_hZ_bbll_CMS8_cache[NumPar][i] );
3300  } else {
3301  double newResult = interpolate(CMS8_gg_A_hZ_bbll,mass);
3302  CacheShiftReal(ip_ex_gg_A_hZ_bbll_CMS8_cache, NumPar, params, newResult);
3303  return newResult;
3304  }
3305 }
3306 
3307 
3308 
3310  int NumPar = 1;
3311  double params[] = {mass};
3312 
3313  int i = CacheCheckReal(ip_ex_gg_A_hZ_bbll_CMS8_cache_e, NumPar, params);
3314  if (i>=0) {
3315  return ( ip_ex_gg_A_hZ_bbll_CMS8_cache_e[NumPar][i] );
3316  } else {
3317  double newResult = interpolate(CMS8_gg_A_hZ_bbll_e,mass);
3318  CacheShiftReal(ip_ex_gg_A_hZ_bbll_CMS8_cache_e, NumPar, params, newResult);
3319  return newResult;
3320  }
3321 }
3322 
3323 
3324 
3325 double THDMcache::ip_ex_pp_H_hh_CMS8(double mass){
3326  int NumPar = 1;
3327  double params[] = {mass};
3328 
3329  int i = CacheCheckReal(ip_ex_pp_H_hh_CMS8_cache, NumPar, params);
3330  if (i>=0) {
3331  return ( ip_ex_pp_H_hh_CMS8_cache[NumPar][i] );
3332  } else {
3333  double newResult = interpolate(CMS8_pp_H_hh,mass);
3334  CacheShiftReal(ip_ex_pp_H_hh_CMS8_cache, NumPar, params, newResult);
3335  return newResult;
3336  }
3337 }
3338 
3339 
3340 
3342  int NumPar = 1;
3343  double params[] = {mass};
3344 
3345  int i = CacheCheckReal(ip_ex_pp_H_hh_CMS8_cache_e, NumPar, params);
3346  if (i>=0) {
3347  return ( ip_ex_pp_H_hh_CMS8_cache_e[NumPar][i] );
3348  } else {
3349  double newResult = interpolate(CMS8_pp_H_hh_e,mass);
3350  CacheShiftReal(ip_ex_pp_H_hh_CMS8_cache_e, NumPar, params, newResult);
3351  return newResult;
3352  }
3353 }
3354 
3355 
3356 
3358  int NumPar = 1;
3359  double params[] = {mass};
3360 
3361  int i = CacheCheckReal(ip_ex_pp_phi_hh_gagabb_CMS8_cache, NumPar, params);
3362  if (i>=0) {
3363  return ( ip_ex_pp_phi_hh_gagabb_CMS8_cache[NumPar][i] );
3364  } else {
3365  double newResult = interpolate(CMS8_pp_H_hh_gagabb,mass);
3366  CacheShiftReal(ip_ex_pp_phi_hh_gagabb_CMS8_cache, NumPar, params, newResult);
3367  return newResult;
3368  }
3369 }
3370 
3371 
3372 
3374  int NumPar = 1;
3375  double params[] = {mass};
3376 
3377  int i = CacheCheckReal(ip_ex_pp_phi_hh_gagabb_CMS8_cache_e, NumPar, params);
3378  if (i>=0) {
3379  return ( ip_ex_pp_phi_hh_gagabb_CMS8_cache_e[NumPar][i] );
3380  } else {
3381  double newResult = interpolate(CMS8_pp_H_hh_gagabb_e,mass);
3382  CacheShiftReal(ip_ex_pp_phi_hh_gagabb_CMS8_cache_e, NumPar, params, newResult);
3383  return newResult;
3384  }
3385 }
3386 
3387 
3388 
3390  int NumPar = 1;
3391  double params[] = {mass};
3392 
3393  int i = CacheCheckReal(ip_ex_pp_phi_hh_bbbb_CMS8_cache, NumPar, params);
3394  if (i>=0) {
3395  return ( ip_ex_pp_phi_hh_bbbb_CMS8_cache[NumPar][i] );
3396  } else {
3397  double newResult = interpolate(CMS8_pp_H_hh_bbbb,mass);
3398  CacheShiftReal(ip_ex_pp_phi_hh_bbbb_CMS8_cache, NumPar, params, newResult);
3399  return newResult;
3400  }
3401 }
3402 
3403 
3404 
3406  int NumPar = 1;
3407  double params[] = {mass};
3408 
3409  int i = CacheCheckReal(ip_ex_pp_phi_hh_bbbb_CMS8_cache_e, NumPar, params);
3410  if (i>=0) {
3411  return ( ip_ex_pp_phi_hh_bbbb_CMS8_cache_e[NumPar][i] );
3412  } else {
3413  double newResult = interpolate(CMS8_pp_H_hh_bbbb_e,mass);
3414  CacheShiftReal(ip_ex_pp_phi_hh_bbbb_CMS8_cache_e, NumPar, params, newResult);
3415  return newResult;
3416  }
3417 }
3418 
3419 
3420 
3422  int NumPar = 1;
3423  double params[] = {mass};
3424 
3425  int i = CacheCheckReal(ip_ex_bb_phi_bb_CMS8_cache, NumPar, params);
3426  if (i>=0) {
3427  return ( ip_ex_bb_phi_bb_CMS8_cache[NumPar][i] );
3428  } else {
3429  double newResult = interpolate (CMS8_bb_phi_bb,mass);
3430  CacheShiftReal(ip_ex_bb_phi_bb_CMS8_cache, NumPar, params, newResult);
3431  return newResult;
3432  }
3433 }
3434 
3435 
3436 
3438  int NumPar = 1;
3439  double params[] = {mass};
3440 
3441  int i = CacheCheckReal(ip_ex_bb_phi_bb_CMS8_cache_e, NumPar, params);
3442  if (i>=0) {
3443  return ( ip_ex_bb_phi_bb_CMS8_cache_e[NumPar][i] );
3444  } else {
3445  double newResult = interpolate (CMS8_bb_phi_bb_e,mass);
3446  CacheShiftReal(ip_ex_bb_phi_bb_CMS8_cache_e, NumPar, params, newResult);
3447  return newResult;
3448  }
3449 }
3450 
3451 
3452 
3454  int NumPar = 1;
3455  double params[] = {mass};
3456 
3457  int i = CacheCheckReal(ip_ex_gg_phi_tautau_CMS8_cache, NumPar, params);
3458  if (i>=0) {
3459  return ( ip_ex_gg_phi_tautau_CMS8_cache[NumPar][i] );
3460  } else {
3461  double newResult = interpolate (CMS8_gg_phi_tautau,mass);
3462  CacheShiftReal(ip_ex_gg_phi_tautau_CMS8_cache, NumPar, params, newResult);
3463  return newResult;
3464  }
3465 }
3466 
3467 
3468 
3470  int NumPar = 1;
3471  double params[] = {mass};
3472 
3473  int i = CacheCheckReal(ip_ex_gg_phi_tautau_CMS8_cache_e, NumPar, params);
3474  if (i>=0) {
3475  return ( ip_ex_gg_phi_tautau_CMS8_cache_e[NumPar][i] );
3476  } else {
3477  double newResult = interpolate (CMS8_gg_phi_tautau_e,mass);
3478  CacheShiftReal(ip_ex_gg_phi_tautau_CMS8_cache_e, NumPar, params, newResult);
3479  return newResult;
3480  }
3481 }
3482 
3483 
3484 
3486  int NumPar = 1;
3487  double params[] = {mass};
3488 
3489  int i = CacheCheckReal(ip_ex_bb_phi_tautau_CMS8_cache, NumPar, params);
3490  if (i>=0) {
3491  return ( ip_ex_bb_phi_tautau_CMS8_cache[NumPar][i] );
3492  } else {
3493  double newResult = interpolate (CMS8_bb_phi_tautau,mass);
3494  CacheShiftReal(ip_ex_bb_phi_tautau_CMS8_cache, NumPar, params, newResult);
3495  return newResult;
3496  }
3497 }
3498 
3499 
3500 
3502  int NumPar = 1;
3503  double params[] = {mass};
3504 
3505  int i = CacheCheckReal(ip_ex_bb_phi_tautau_CMS8_cache_e, NumPar, params);
3506  if (i>=0) {
3507  return ( ip_ex_bb_phi_tautau_CMS8_cache_e[NumPar][i] );
3508  } else {
3509  double newResult = interpolate (CMS8_bb_phi_tautau_e,mass);
3510  CacheShiftReal(ip_ex_bb_phi_tautau_CMS8_cache_e, NumPar, params, newResult);
3511  return newResult;
3512  }
3513 }
3514 
3515 
3516 
3518  int NumPar = 1;
3519  double params[] = {mass};
3520 
3521  int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS8_cache, NumPar, params);
3522  if (i>=0) {
3523  return ( ip_ex_gg_phi_gaga_CMS8_cache[NumPar][i] );
3524  } else {
3525  double newResult = interpolate (CMS8_gg_phi_gaga,mass);
3526  CacheShiftReal(ip_ex_gg_phi_gaga_CMS8_cache, NumPar, params, newResult);
3527  return newResult;
3528  }
3529 }
3530 
3531 
3532 
3534  int NumPar = 1;
3535  double params[] = {mass};
3536 
3537  int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS8_cache_e, NumPar, params);
3538  if (i>=0) {
3539  return ( ip_ex_gg_phi_gaga_CMS8_cache_e[NumPar][i] );
3540  } else {
3541  double newResult = interpolate (CMS8_gg_phi_gaga_e,mass);
3542  CacheShiftReal(ip_ex_gg_phi_gaga_CMS8_cache_e, NumPar, params, newResult);
3543  return newResult;
3544  }
3545 }
3546 
3547 
3548 
3549 //
3550 //double THDMcache::ip_ex_gg_phi_gaga_CMS_ep1(double mass){
3551 // int NumPar = 1;
3552 // double params[] = {mass};
3553 //
3554 // int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS_cache_ep1, NumPar, params);
3555 // if (i>=0) {
3556 // return ( ip_ex_gg_phi_gaga_CMS_cache_ep1[NumPar][i] );
3557 // } else {
3558 // double newResult = interpolate (CMS_ggF_phi_gaga_ep1,mass);
3559 // CacheShiftReal(ip_ex_gg_phi_gaga_CMS_cache_ep1, NumPar, params, newResult);
3560 // return newResult;
3561 // }
3562 //}
3563 
3564 //double THDMcache::ip_ex_gg_phi_gaga_CMS_ep2(double mass){
3565 // int NumPar = 1;
3566 // double params[] = {mass};
3567 //
3568 // int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS_cache_ep2, NumPar, params);
3569 // if (i>=0) {
3570 // return ( ip_ex_gg_phi_gaga_CMS_cache_ep2[NumPar][i] );
3571 // } else {
3572 // double newResult = interpolate (CMS_ggF_phi_gaga_ep2,mass);
3573 // CacheShiftReal(ip_ex_gg_phi_gaga_CMS_cache_ep2, NumPar, params, newResult);
3574 // return newResult;
3575 // }
3576 //}
3577 //
3578 //double THDMcache::ip_ex_gg_phi_gaga_CMS_em1(double mass){
3579 // int NumPar = 1;
3580 // double params[] = {mass};
3581 //
3582 // int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS_cache_em1, NumPar, params);
3583 // if (i>=0) {
3584 // return ( ip_ex_gg_phi_gaga_CMS_cache_em1[NumPar][i] );
3585 // } else {
3586 // double newResult = interpolate (CMS_ggF_phi_gaga_em1,mass);
3587 // CacheShiftReal(ip_ex_gg_phi_gaga_CMS_cache_em1, NumPar, params, newResult);
3588 // return newResult;
3589 // }
3590 //}
3591 //
3592 //double THDMcache::ip_ex_gg_phi_gaga_CMS_em2(double mass){
3593 // int NumPar = 1;
3594 // double params[] = {mass};
3595 //
3596 // int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS_cache_em2, NumPar, params);
3597 // if (i>=0) {
3598 // return ( ip_ex_gg_phi_gaga_CMS_cache_em2[NumPar][i] );
3599 // } else {
3600 // double newResult = interpolate (CMS_ggF_phi_gaga_em2,mass);
3601 // CacheShiftReal(ip_ex_gg_phi_gaga_CMS_cache_em2, NumPar, params, newResult);
3602 // return newResult;
3603 // }
3604 //}
3605 //
3606 
3607 
3609  int NumPar = 1;
3610  double params[] = {mass};
3611 
3612  int i = CacheCheckReal(ip_ex_pp_A_Zga_llga_CMS8_cache, NumPar, params);
3613  if (i>=0) {
3614  return ( ip_ex_pp_A_Zga_llga_CMS8_cache[NumPar][i] );
3615  } else {
3616  double newResult = interpolate (CMS8_pp_A_Zga_llga,mass);
3617  CacheShiftReal(ip_ex_pp_A_Zga_llga_CMS8_cache, NumPar, params, newResult);
3618  return newResult;
3619  }
3620 }
3621 
3622 
3623 
3625  int NumPar = 1;
3626  double params[] = {mass};
3627 
3628  int i = CacheCheckReal(ip_ex_pp_A_Zga_llga_CMS8_cache_e, NumPar, params);
3629  if (i>=0) {
3630  return ( ip_ex_pp_A_Zga_llga_CMS8_cache_e[NumPar][i] );
3631  } else {
3632  double newResult = interpolate (CMS8_pp_A_Zga_llga_e,mass);
3633  CacheShiftReal(ip_ex_pp_A_Zga_llga_CMS8_cache_e, NumPar, params, newResult);
3634  return newResult;
3635  }
3636 }
3637 
3638 
3639 
3641  int NumPar = 1;
3642  double params[] = {mass};
3643 
3644  int i = CacheCheckReal(ip_ex_gg_H_hh_bbtautau_CMS8_cache, NumPar, params);
3645  if (i>=0) {
3646  return ( ip_ex_gg_H_hh_bbtautau_CMS8_cache[NumPar][i] );
3647  } else {
3648  double newResult = interpolate (CMS8_gg_H_hh_bbtautau,mass);
3649  CacheShiftReal(ip_ex_gg_H_hh_bbtautau_CMS8_cache, NumPar, params, newResult);
3650  return newResult;
3651  }
3652 }
3653 
3654 
3655 
3657  int NumPar = 1;
3658  double params[] = {mass};
3659 
3660  int i = CacheCheckReal(ip_ex_gg_H_hh_bbtautau_CMS8_cache_e, NumPar, params);
3661  if (i>=0) {
3662  return ( ip_ex_gg_H_hh_bbtautau_CMS8_cache_e[NumPar][i] );
3663  } else {
3664  double newResult = interpolate (CMS8_gg_H_hh_bbtautau_e,mass);
3665  CacheShiftReal(ip_ex_gg_H_hh_bbtautau_CMS8_cache_e, NumPar, params, newResult);
3666  return newResult;
3667  }
3668 }
3669 
3670 
3671 
3673  int NumPar = 1;
3674  double params[] = {mass};
3675 
3676  int i = CacheCheckReal(ip_ex_gg_A_hZ_tautaull_CMS8_cache, NumPar, params);
3677  if (i>=0) {
3678  return ( ip_ex_gg_A_hZ_tautaull_CMS8_cache[NumPar][i] );
3679  } else {
3680  double newResult = interpolate (CMS8_gg_A_hZ_tautaull,mass);
3681  CacheShiftReal(ip_ex_gg_A_hZ_tautaull_CMS8_cache, NumPar, params, newResult);
3682  return newResult;
3683  }
3684 }
3685 
3686 
3687 
3689  int NumPar = 1;
3690  double params[] = {mass};
3691 
3692  int i = CacheCheckReal(ip_ex_gg_A_hZ_tautaull_CMS8_cache_e, NumPar, params);
3693  if (i>=0) {
3694  return ( ip_ex_gg_A_hZ_tautaull_CMS8_cache_e[NumPar][i] );
3695  } else {
3696  double newResult = interpolate (CMS8_gg_A_hZ_tautaull_e,mass);
3697  CacheShiftReal(ip_ex_gg_A_hZ_tautaull_CMS8_cache_e, NumPar, params, newResult);
3698  return newResult;
3699  }
3700 }
3701 
3702 
3703 
3704 double THDMcache::ip_ex_pp_A_HZ_bbll_CMS8(double mA, double mH){
3705  int NumPar = 2;
3706  double params[] = {mA, mH};
3707 
3708  int i = CacheCheckReal(ip_ex_pp_A_HZ_bbll_CMS8_cache, NumPar, params);
3709  if (i>=0) {
3710  return ( ip_ex_pp_A_HZ_bbll_CMS8_cache[NumPar][i] );
3711  } else {
3712  double newResult = interpolate2D(CMS8_pp_A_HZ_bbll, mA, mH);
3713  CacheShiftReal(ip_ex_pp_A_HZ_bbll_CMS8_cache, NumPar, params, newResult);
3714  return newResult;
3715  }
3716 }
3717 
3718 
3719 
3720 double THDMcache::ip_ex_pp_H_AZ_bbll_CMS8(double mA, double mH){
3721  int NumPar = 2;
3722  double params[] = {mA, mH};
3723 
3724  int i = CacheCheckReal(ip_ex_pp_H_AZ_bbll_CMS8_cache, NumPar, params);
3725  if (i>=0) {
3726  return ( ip_ex_pp_H_AZ_bbll_CMS8_cache[NumPar][i] );
3727  } else {
3728  double newResult = interpolate2D(CMS8_pp_H_AZ_bbll, mA, mH);
3729  CacheShiftReal(ip_ex_pp_H_AZ_bbll_CMS8_cache, NumPar, params, newResult);
3730  return newResult;
3731  }
3732 }
3733 
3734 
3735 
3736 double THDMcache::ip_ex_pp_A_HZ_tautaull_CMS8(double mA, double mH){
3737  int NumPar = 2;
3738  double params[] = {mA, mH};
3739 
3740  int i = CacheCheckReal(ip_ex_pp_A_HZ_tautaull_CMS8_cache, NumPar, params);
3741  if (i>=0) {
3742  return ( ip_ex_pp_A_HZ_tautaull_CMS8_cache[NumPar][i] );
3743  } else {
3744  double newResult = interpolate2D(CMS8_pp_A_HZ_tautaull, mA, mH);
3745  CacheShiftReal(ip_ex_pp_A_HZ_tautaull_CMS8_cache, NumPar, params, newResult);
3746  return newResult;
3747  }
3748 }
3749 
3750 
3751 
3752 double THDMcache::ip_ex_pp_H_AZ_tautaull_CMS8(double mA, double mH){
3753  int NumPar = 2;
3754  double params[] = {mA, mH};
3755 
3756  int i = CacheCheckReal(ip_ex_pp_H_AZ_tautaull_CMS8_cache, NumPar, params);
3757  if (i>=0) {
3758  return ( ip_ex_pp_H_AZ_tautaull_CMS8_cache[NumPar][i] );
3759  } else {
3760  double newResult = interpolate2D(CMS8_pp_H_AZ_tautaull, mA, mH);
3761  CacheShiftReal(ip_ex_pp_H_AZ_tautaull_CMS8_cache, NumPar, params, newResult);
3762  return newResult;
3763  }
3764 }
3765 
3766 
3767 
3769  int NumPar = 1;
3770  double params[] = {mass};
3771 
3772  int i = CacheCheckReal(ip_ex_bb_phi_tt_ATLAS13_cache, NumPar, params);
3773  if (i>=0) {
3774  return ( ip_ex_bb_phi_tt_ATLAS13_cache[NumPar][i] );
3775  } else {
3776  double newResult = interpolate (ATLAS13_bb_phi_tt,mass);
3777  CacheShiftReal(ip_ex_bb_phi_tt_ATLAS13_cache, NumPar, params, newResult);
3778  return newResult;
3779  }
3780 }
3781 
3782 
3783 
3785  int NumPar = 1;
3786  double params[] = {mass};
3787 
3788  int i = CacheCheckReal(ip_ex_bb_phi_tt_ATLAS13_cache_e, NumPar, params);
3789  if (i>=0) {
3790  return ( ip_ex_bb_phi_tt_ATLAS13_cache_e[NumPar][i] );
3791  } else {
3792  double newResult = interpolate (ATLAS13_bb_phi_tt_e,mass);
3793  CacheShiftReal(ip_ex_bb_phi_tt_ATLAS13_cache_e, NumPar, params, newResult);
3794  return newResult;
3795  }
3796 }
3797 
3798 
3799 
3801  int NumPar = 1;
3802  double params[] = {mass};
3803 
3804  int i = CacheCheckReal(ip_ex_tt_phi_tt_ATLAS13_cache, NumPar, params);
3805  if (i>=0) {
3806  return(ip_ex_tt_phi_tt_ATLAS13_cache[NumPar][i] );
3807  } else {
3808  double newResult = interpolate (ATLAS13_tt_phi_tt,mass);
3809  CacheShiftReal(ip_ex_tt_phi_tt_ATLAS13_cache, NumPar, params, newResult);
3810  return newResult;
3811  }
3812 }
3813 
3814 
3815 
3817  int NumPar = 1;
3818  double params[] = {mass};
3819 
3820  int i = CacheCheckReal(ip_ex_tt_phi_tt_ATLAS13_cache_e, NumPar, params);
3821  if (i>=0) {
3822  return(ip_ex_tt_phi_tt_ATLAS13_cache_e[NumPar][i] );
3823  } else {
3824  double newResult = interpolate (ATLAS13_tt_phi_tt_e,mass);
3825  CacheShiftReal(ip_ex_tt_phi_tt_ATLAS13_cache_e, NumPar, params, newResult);
3826  return newResult;
3827  }
3828 }
3829 
3830 
3831 
3833  int NumPar = 1;
3834  double params[] = {mass};
3835 
3836  int i = CacheCheckReal(ip_ex_gg_phi_tautau_ATLAS13_cache, NumPar, params);
3837  if (i>=0) {
3838  return(ip_ex_gg_phi_tautau_ATLAS13_cache[NumPar][i] );
3839  } else {
3840  double newResult = interpolate (ATLAS13_gg_phi_tautau,mass);
3841  CacheShiftReal(ip_ex_gg_phi_tautau_ATLAS13_cache, NumPar, params, newResult);
3842  return newResult;
3843  }
3844 }
3845 
3846 
3847 
3849  int NumPar = 1;
3850  double params[] = {mass};
3851 
3852  int i = CacheCheckReal(ip_ex_gg_phi_tautau_ATLAS13_cache_e, NumPar, params);
3853  if (i>=0) {
3854  return(ip_ex_gg_phi_tautau_ATLAS13_cache_e[NumPar][i] );
3855  } else {
3856  double newResult = interpolate (ATLAS13_gg_phi_tautau_e,mass);
3857  CacheShiftReal(ip_ex_gg_phi_tautau_ATLAS13_cache_e, NumPar, params, newResult);
3858  return newResult;
3859  }
3860 }
3861 
3862 
3863 
3865  int NumPar = 1;
3866  double params[] = {mass};
3867 
3868  int i = CacheCheckReal(ip_ex_bb_phi_tautau_ATLAS13_cache, NumPar, params);
3869  if (i>=0) {
3870  return(ip_ex_bb_phi_tautau_ATLAS13_cache[NumPar][i] );
3871  } else {
3872  double newResult = interpolate (ATLAS13_bb_phi_tautau,mass);
3873  CacheShiftReal(ip_ex_bb_phi_tautau_ATLAS13_cache, NumPar, params, newResult);
3874  return newResult;
3875  }
3876 }
3877 
3878 
3879 
3881  int NumPar = 1;
3882  double params[] = {mass};
3883 
3884  int i = CacheCheckReal(ip_ex_bb_phi_tautau_ATLAS13_cache_e, NumPar, params);
3885  if (i>=0) {
3886  return(ip_ex_bb_phi_tautau_ATLAS13_cache_e[NumPar][i] );
3887  } else {
3888  double newResult = interpolate (ATLAS13_bb_phi_tautau_e,mass);
3889  CacheShiftReal(ip_ex_bb_phi_tautau_ATLAS13_cache_e, NumPar, params, newResult);
3890  return newResult;
3891  }
3892 }
3893 
3894 
3895 
3897  int NumPar = 1;
3898  double params[] = {mass};
3899 
3900  int i = CacheCheckReal(ip_ex_pp_phi_gaga_ATLAS13_cache, NumPar, params);
3901  if (i>=0) {
3902  return(ip_ex_pp_phi_gaga_ATLAS13_cache[NumPar][i] );
3903  } else {
3904  double newResult = interpolate (ATLAS13_pp_phi_gaga,mass);
3905  CacheShiftReal(ip_ex_pp_phi_gaga_ATLAS13_cache, NumPar, params, newResult);
3906  return newResult;
3907  }
3908 }
3909 
3910 
3911 
3913  int NumPar = 1;
3914  double params[] = {mass};
3915 
3916  int i = CacheCheckReal(ip_ex_pp_phi_gaga_ATLAS13_cache_e, NumPar, params);
3917  if (i>=0) {
3918  return(ip_ex_pp_phi_gaga_ATLAS13_cache_e[NumPar][i] );
3919  } else {
3920  double newResult = interpolate (ATLAS13_pp_phi_gaga_e,mass);
3921  CacheShiftReal(ip_ex_pp_phi_gaga_ATLAS13_cache_e, NumPar, params, newResult);
3922  return newResult;
3923  }
3924 }
3925 
3926 
3927 
3929  int NumPar = 1;
3930  double params[] = {mass};
3931 
3932  int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_ATLAS13_cache, NumPar, params);
3933  if (i>=0) {
3934  return(ip_ex_pp_phi_Zga_llga_ATLAS13_cache[NumPar][i] );
3935  } else {
3936  double newResult = interpolate (ATLAS13_pp_phi_Zga,mass);
3937  CacheShiftReal(ip_ex_pp_phi_Zga_llga_ATLAS13_cache, NumPar, params, newResult);
3938  return newResult;
3939  }
3940 }
3941 
3942 
3943 
3945  int NumPar = 1;
3946  double params[] = {mass};
3947 
3948  int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_ATLAS13_cache_e, NumPar, params);
3949  if (i>=0) {
3950  return(ip_ex_pp_phi_Zga_llga_ATLAS13_cache_e[NumPar][i] );
3951  } else {
3952  double newResult = interpolate (ATLAS13_pp_phi_Zga_e,mass);
3953  CacheShiftReal(ip_ex_pp_phi_Zga_llga_ATLAS13_cache_e, NumPar, params, newResult);
3954  return newResult;
3955  }
3956 }
3957 
3958 
3959 
3961  int NumPar = 1;
3962  double params[] = {mass};
3963 
3964  int i = CacheCheckReal(ip_ex_gg_phi_Zga_llga_ATLAS13_cache, NumPar, params);
3965  if (i>=0) {
3966  return(ip_ex_gg_phi_Zga_llga_ATLAS13_cache[NumPar][i] );
3967  } else {
3968  double newResult = interpolate (ATLAS13_gg_phi_Zga_llga,mass);
3969  CacheShiftReal(ip_ex_gg_phi_Zga_llga_ATLAS13_cache, NumPar, params, newResult);
3970  return newResult;
3971  }
3972 }
3973 
3974 
3975 
3977  int NumPar = 1;
3978  double params[] = {mass};
3979 
3980  int i = CacheCheckReal(ip_ex_gg_phi_Zga_llga_ATLAS13_cache_e, NumPar, params);
3981  if (i>=0) {
3982  return(ip_ex_gg_phi_Zga_llga_ATLAS13_cache_e[NumPar][i] );
3983  } else {
3984  double newResult = interpolate (ATLAS13_gg_phi_Zga_llga_e,mass);
3985  CacheShiftReal(ip_ex_gg_phi_Zga_llga_ATLAS13_cache_e, NumPar, params, newResult);
3986  return newResult;
3987  }
3988 }
3989 
3990 
3991 
3993  int NumPar = 1;
3994  double params[] = {mass};
3995 
3996  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llllnunu_ATLAS13_cache, NumPar, params);
3997  if (i>=0) {
3998  return(ip_ex_gg_H_ZZ_llllnunu_ATLAS13_cache[NumPar][i] );
3999  } else {
4000  double newResult = interpolate (ATLAS13_gg_H_ZZ_llllnunu,mass);
4001  CacheShiftReal(ip_ex_gg_H_ZZ_llllnunu_ATLAS13_cache, NumPar, params, newResult);
4002  return newResult;
4003  }
4004 }
4005 
4006 
4007 
4009  int NumPar = 1;
4010  double params[] = {mass};
4011 
4012  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llllnunu_ATLAS13_cache_e, NumPar, params);
4013  if (i>=0) {
4014  return(ip_ex_gg_H_ZZ_llllnunu_ATLAS13_cache_e[NumPar][i] );
4015  } else {
4016  double newResult = interpolate (ATLAS13_gg_H_ZZ_llllnunu_e,mass);
4017  CacheShiftReal(ip_ex_gg_H_ZZ_llllnunu_ATLAS13_cache_e, NumPar, params, newResult);
4018  return newResult;
4019  }
4020 }
4021 
4022 
4023 
4025  int NumPar = 1;
4026  double params[] = {mass};
4027 
4028  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_llllnunu_ATLAS13_cache, NumPar, params);
4029  if (i>=0) {
4030  return(ip_ex_VBF_H_ZZ_llllnunu_ATLAS13_cache[NumPar][i] );
4031  } else {
4032  double newResult = interpolate (ATLAS13_VBF_H_ZZ_llllnunu,mass);
4033  CacheShiftReal(ip_ex_VBF_H_ZZ_llllnunu_ATLAS13_cache, NumPar, params, newResult);
4034  return newResult;
4035  }
4036 }
4037 
4038 
4039 
4041  int NumPar = 1;
4042  double params[] = {mass};
4043 
4045  if (i>=0) {
4046  return(ip_ex_VBF_H_ZZ_llllnunu_ATLAS13_cache_e[NumPar][i] );
4047  } else {
4048  double newResult = interpolate (ATLAS13_VBF_H_ZZ_llllnunu_e,mass);
4049  CacheShiftReal(ip_ex_VBF_H_ZZ_llllnunu_ATLAS13_cache_e, NumPar, params, newResult);
4050  return newResult;
4051  }
4052 }
4053 
4054 
4055 
4057  int NumPar = 1;
4058  double params[] = {mass};
4059 
4060  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llnunu_ATLAS13_cache, NumPar, params);
4061  if (i>=0) {
4062  return(ip_ex_gg_H_ZZ_llnunu_ATLAS13_cache[NumPar][i] );
4063  } else {
4064  double newResult = interpolate (ATLAS13_gg_H_ZZ_llnunu,mass);
4065  CacheShiftReal(ip_ex_gg_H_ZZ_llnunu_ATLAS13_cache, NumPar, params, newResult);
4066  return newResult;
4067  }
4068 }
4069 
4070 
4071 
4073  int NumPar = 1;
4074  double params[] = {mass};
4075 
4076  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llnunu_ATLAS13_cache_e, NumPar, params);
4077  if (i>=0) {
4078  return(ip_ex_gg_H_ZZ_llnunu_ATLAS13_cache_e[NumPar][i] );
4079  } else {
4080  double newResult = interpolate (ATLAS13_gg_H_ZZ_llnunu_e,mass);
4081  CacheShiftReal(ip_ex_gg_H_ZZ_llnunu_ATLAS13_cache_e, NumPar, params, newResult);
4082  return newResult;
4083  }
4084 }
4085 
4086 
4087 
4089  int NumPar = 1;
4090  double params[] = {mass};
4091 
4092  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llll_ATLAS13_cache, NumPar, params);
4093  if (i>=0) {
4094  return(ip_ex_gg_H_ZZ_llll_ATLAS13_cache[NumPar][i] );
4095  } else {
4096  double newResult = interpolate (ATLAS13_gg_H_ZZ_llll,mass);
4097  CacheShiftReal(ip_ex_gg_H_ZZ_llll_ATLAS13_cache, NumPar, params, newResult);
4098  return newResult;
4099  }
4100 }
4101 
4102 
4103 
4105  int NumPar = 1;
4106  double params[] = {mass};
4107 
4108  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llll_ATLAS13_cache_e, NumPar, params);
4109  if (i>=0) {
4110  return(ip_ex_gg_H_ZZ_llll_ATLAS13_cache_e[NumPar][i] );
4111  } else {
4112  double newResult = interpolate (ATLAS13_gg_H_ZZ_llll_e,mass);
4113  CacheShiftReal(ip_ex_gg_H_ZZ_llll_ATLAS13_cache_e, NumPar, params, newResult);
4114  return newResult;
4115  }
4116 }
4117 
4118 
4119 
4121  int NumPar = 1;
4122  double params[] = {mass};
4123 
4124  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_llll_ATLAS13_cache, NumPar, params);
4125  if (i>=0) {
4126  return(ip_ex_VBF_H_ZZ_llll_ATLAS13_cache[NumPar][i] );
4127  } else {
4128  double newResult = interpolate (ATLAS13_VBF_H_ZZ_llll,mass);
4129  CacheShiftReal(ip_ex_VBF_H_ZZ_llll_ATLAS13_cache, NumPar, params, newResult);
4130  return newResult;
4131  }
4132 }
4133 
4134 
4135 
4137  int NumPar = 1;
4138  double params[] = {mass};
4139 
4140  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_llll_ATLAS13_cache_e, NumPar, params);
4141  if (i>=0) {
4142  return(ip_ex_VBF_H_ZZ_llll_ATLAS13_cache_e[NumPar][i] );
4143  } else {
4144  double newResult = interpolate (ATLAS13_VBF_H_ZZ_llll_e,mass);
4145  CacheShiftReal(ip_ex_VBF_H_ZZ_llll_ATLAS13_cache_e, NumPar, params, newResult);
4146  return newResult;
4147  }
4148 }
4149 
4150 
4151 
4153  int NumPar = 1;
4154  double params[] = {mass};
4155 
4156  int i = CacheCheckReal(ip_ex_gg_H_ZZ_qqllnunu_ATLAS13_cache, NumPar, params);
4157  if (i>=0) {
4158  return(ip_ex_gg_H_ZZ_qqllnunu_ATLAS13_cache[NumPar][i] );
4159  } else {
4160  double newResult = interpolate (ATLAS13_gg_H_ZZ_qqllnunu,mass);
4161  CacheShiftReal(ip_ex_gg_H_ZZ_qqllnunu_ATLAS13_cache, NumPar, params, newResult);
4162  return newResult;
4163  }
4164 }
4165 
4166 
4167 
4169  int NumPar = 1;
4170  double params[] = {mass};
4171 
4172  int i = CacheCheckReal(ip_ex_gg_H_ZZ_qqllnunu_ATLAS13_cache_e, NumPar, params);
4173  if (i>=0) {
4174  return(ip_ex_gg_H_ZZ_qqllnunu_ATLAS13_cache_e[NumPar][i] );
4175  } else {
4176  double newResult = interpolate (ATLAS13_gg_H_ZZ_qqllnunu_e,mass);
4177  CacheShiftReal(ip_ex_gg_H_ZZ_qqllnunu_ATLAS13_cache_e, NumPar, params, newResult);
4178  return newResult;
4179  }
4180 }
4181 
4182 
4183 
4185  int NumPar = 1;
4186  double params[] = {mass};
4187 
4188  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_qqllnunu_ATLAS13_cache, NumPar, params);
4189  if (i>=0) {
4190  return(ip_ex_VBF_H_ZZ_qqllnunu_ATLAS13_cache[NumPar][i] );
4191  } else {
4192  double newResult = interpolate (ATLAS13_VBF_H_ZZ_qqllnunu,mass);
4193  CacheShiftReal(ip_ex_VBF_H_ZZ_qqllnunu_ATLAS13_cache, NumPar, params, newResult);
4194  return newResult;
4195  }
4196 }
4197 
4198 
4199 
4201  int NumPar = 1;
4202  double params[] = {mass};
4203 
4205  if (i>=0) {
4206  return(ip_ex_VBF_H_ZZ_qqllnunu_ATLAS13_cache_e[NumPar][i] );
4207  } else {
4208  double newResult = interpolate (ATLAS13_VBF_H_ZZ_qqllnunu_e,mass);
4209  CacheShiftReal(ip_ex_VBF_H_ZZ_qqllnunu_ATLAS13_cache_e, NumPar, params, newResult);
4210  return newResult;
4211  }
4212 }
4213 
4214 
4215 
4217  int NumPar = 1;
4218  double params[] = {mass};
4219 
4220  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llqq_ATLAS13_cache, NumPar, params);
4221  if (i>=0) {
4222  return(ip_ex_gg_H_ZZ_llqq_ATLAS13_cache[NumPar][i] );
4223  } else {
4224  double newResult = interpolate (ATLAS13_gg_H_ZZ_llqq,mass);
4225  CacheShiftReal(ip_ex_gg_H_ZZ_llqq_ATLAS13_cache, NumPar, params, newResult);
4226  return newResult;
4227  }
4228 }
4229 
4230 
4231 
4233  int NumPar = 1;
4234  double params[] = {mass};
4235 
4236  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llqq_ATLAS13_cache_e, NumPar, params);
4237  if (i>=0) {
4238  return(ip_ex_gg_H_ZZ_llqq_ATLAS13_cache_e[NumPar][i] );
4239  } else {
4240  double newResult = interpolate (ATLAS13_gg_H_ZZ_llqq_e,mass);
4241  CacheShiftReal(ip_ex_gg_H_ZZ_llqq_ATLAS13_cache_e, NumPar, params, newResult);
4242  return newResult;
4243  }
4244 }
4245 
4246 
4247 
4249  int NumPar = 1;
4250  double params[] = {mass};
4251 
4252  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_llqq_ATLAS13_cache, NumPar, params);
4253  if (i>=0) {
4254  return(ip_ex_VBF_H_ZZ_llqq_ATLAS13_cache[NumPar][i] );
4255  } else {
4256  double newResult = interpolate (ATLAS13_VBF_H_ZZ_llqq,mass);
4257  CacheShiftReal(ip_ex_VBF_H_ZZ_llqq_ATLAS13_cache, NumPar, params, newResult);
4258  return newResult;
4259  }
4260 }
4261 
4262 
4263 
4265  int NumPar = 1;
4266  double params[] = {mass};
4267 
4268  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_llqq_ATLAS13_cache_e, NumPar, params);
4269  if (i>=0) {
4270  return(ip_ex_VBF_H_ZZ_llqq_ATLAS13_cache_e[NumPar][i] );
4271  } else {
4272  double newResult = interpolate (ATLAS13_VBF_H_ZZ_llqq_e,mass);
4273  CacheShiftReal(ip_ex_VBF_H_ZZ_llqq_ATLAS13_cache_e, NumPar, params, newResult);
4274  return newResult;
4275  }
4276 }
4277 
4278 
4279 
4281  int NumPar = 1;
4282  double params[] = {mass};
4283 
4284  int i = CacheCheckReal(ip_ex_gg_H_ZZ_nunuqq_ATLAS13_cache, NumPar, params);
4285  if (i>=0) {
4286  return(ip_ex_gg_H_ZZ_nunuqq_ATLAS13_cache[NumPar][i] );
4287  } else {
4288  double newResult = interpolate (ATLAS13_gg_H_ZZ_nunuqq,mass);
4289  CacheShiftReal(ip_ex_gg_H_ZZ_nunuqq_ATLAS13_cache, NumPar, params, newResult);
4290  return newResult;
4291  }
4292 }
4293 
4294 
4295 
4297  int NumPar = 1;
4298  double params[] = {mass};
4299 
4300  int i = CacheCheckReal(ip_ex_gg_H_ZZ_nunuqq_ATLAS13_cache_e, NumPar, params);
4301  if (i>=0) {
4302  return(ip_ex_gg_H_ZZ_nunuqq_ATLAS13_cache_e[NumPar][i] );
4303  } else {
4304  double newResult = interpolate (ATLAS13_gg_H_ZZ_nunuqq_e,mass);
4305  CacheShiftReal(ip_ex_gg_H_ZZ_nunuqq_ATLAS13_cache_e, NumPar, params, newResult);
4306  return newResult;
4307  }
4308 }
4309 
4310 
4311 
4313  int NumPar = 1;
4314  double params[] = {mass};
4315 
4316  int i = CacheCheckReal(ip_ex_gg_H_WW_enumunu_ATLAS13_cache, NumPar, params);
4317  if (i>=0) {
4318  return(ip_ex_gg_H_WW_enumunu_ATLAS13_cache[NumPar][i] );
4319  } else {
4320  double newResult = interpolate (ATLAS13_gg_H_WW_enumumu,mass);
4321  CacheShiftReal(ip_ex_gg_H_WW_enumunu_ATLAS13_cache, NumPar, params, newResult);
4322  return newResult;
4323  }
4324 }
4325 
4326 
4327 
4329  int NumPar = 1;
4330  double params[] = {mass};
4331 
4332  int i = CacheCheckReal(ip_ex_gg_H_WW_enumunu_ATLAS13_cache_e, NumPar, params);
4333  if (i>=0) {
4334  return(ip_ex_gg_H_WW_enumunu_ATLAS13_cache_e[NumPar][i] );
4335  } else {
4336  double newResult = interpolate (ATLAS13_gg_H_WW_enumumu_e,mass);
4337  CacheShiftReal(ip_ex_gg_H_WW_enumunu_ATLAS13_cache_e, NumPar, params, newResult);
4338  return newResult;
4339  }
4340 }
4341 
4342 
4343 
4345  int NumPar = 1;
4346  double params[] = {mass};
4347 
4348  int i = CacheCheckReal(ip_ex_VBF_H_WW_enumunu_ATLAS13_cache, NumPar, params);
4349  if (i>=0) {
4350  return(ip_ex_VBF_H_WW_enumunu_ATLAS13_cache[NumPar][i] );
4351  } else {
4352  double newResult = interpolate (ATLAS13_VBF_H_WW_enumumu,mass);
4353  CacheShiftReal(ip_ex_VBF_H_WW_enumunu_ATLAS13_cache, NumPar, params, newResult);
4354  return newResult;
4355  }
4356 }
4357 
4358 
4359 
4361  int NumPar = 1;
4362  double params[] = {mass};
4363 
4364  int i = CacheCheckReal(ip_ex_VBF_H_WW_enumunu_ATLAS13_cache_e, NumPar, params);
4365  if (i>=0) {
4366  return(ip_ex_VBF_H_WW_enumunu_ATLAS13_cache_e[NumPar][i] );
4367  } else {
4368  double newResult = interpolate (ATLAS13_VBF_H_WW_enumumu_e,mass);
4369  CacheShiftReal(ip_ex_VBF_H_WW_enumunu_ATLAS13_cache_e, NumPar, params, newResult);
4370  return newResult;
4371  }
4372 }
4373 
4374 
4375 
4377  int NumPar = 1;
4378  double params[] = {mass};
4379 
4380  int i = CacheCheckReal(ip_ex_gg_H_WW_lnuqq_ATLAS13_cache, NumPar, params);
4381  if (i>=0) {
4382  return(ip_ex_gg_H_WW_lnuqq_ATLAS13_cache[NumPar][i] );
4383  } else {
4384  double newResult = interpolate (ATLAS13_gg_H_WW_lnuqq,mass);
4385  CacheShiftReal(ip_ex_gg_H_WW_lnuqq_ATLAS13_cache, NumPar, params, newResult);
4386  return newResult;
4387  }
4388 }
4389 
4390 
4391 
4393  int NumPar = 1;
4394  double params[] = {mass};
4395 
4396  int i = CacheCheckReal(ip_ex_gg_H_WW_lnuqq_ATLAS13_cache_e, NumPar, params);
4397  if (i>=0) {
4398  return(ip_ex_gg_H_WW_lnuqq_ATLAS13_cache_e[NumPar][i] );
4399  } else {
4400  double newResult = interpolate (ATLAS13_gg_H_WW_lnuqq_e,mass);
4401  CacheShiftReal(ip_ex_gg_H_WW_lnuqq_ATLAS13_cache_e, NumPar, params, newResult);
4402  return newResult;
4403  }
4404 }
4405 
4406 
4407 
4409  int NumPar = 1;
4410  double params[] = {mass};
4411 
4412  int i = CacheCheckReal(ip_ex_VBF_H_WW_lnuqq_ATLAS13_cache, NumPar, params);
4413  if (i>=0) {
4414  return(ip_ex_VBF_H_WW_lnuqq_ATLAS13_cache[NumPar][i] );
4415  } else {
4416  double newResult = interpolate (ATLAS13_VBF_H_WW_lnuqq,mass);
4417  CacheShiftReal(ip_ex_VBF_H_WW_lnuqq_ATLAS13_cache, NumPar, params, newResult);
4418  return newResult;
4419  }
4420 }
4421 
4422 
4423 
4425  int NumPar = 1;
4426  double params[] = {mass};
4427 
4428  int i = CacheCheckReal(ip_ex_VBF_H_WW_lnuqq_ATLAS13_cache_e, NumPar, params);
4429  if (i>=0) {
4430  return(ip_ex_VBF_H_WW_lnuqq_ATLAS13_cache_e[NumPar][i] );
4431  } else {
4432  double newResult = interpolate (ATLAS13_VBF_H_WW_lnuqq_e,mass);
4433  CacheShiftReal(ip_ex_VBF_H_WW_lnuqq_ATLAS13_cache_e, NumPar, params, newResult);
4434  return newResult;
4435  }
4436 }
4437 
4438 
4439 
4441  int NumPar = 1;
4442  double params[] = {mass};
4443 
4444  int i = CacheCheckReal(ip_ex_pp_H_VV_qqqq_ATLAS13_cache, NumPar, params);
4445  if (i>=0) {
4446  return(ip_ex_pp_H_VV_qqqq_ATLAS13_cache[NumPar][i] );
4447  } else {
4448  double newResult = interpolate (ATLAS13_pp_H_VV_qqqq,mass);
4449  CacheShiftReal(ip_ex_pp_H_VV_qqqq_ATLAS13_cache, NumPar, params, newResult);
4450  return newResult;
4451  }
4452 }
4453 
4454 
4455 
4457  int NumPar = 1;
4458  double params[] = {mass};
4459 
4460  int i = CacheCheckReal(ip_ex_pp_H_VV_qqqq_ATLAS13_cache_e, NumPar, params);
4461  if (i>=0) {
4462  return(ip_ex_pp_H_VV_qqqq_ATLAS13_cache_e[NumPar][i] );
4463  } else {
4464  double newResult = interpolate (ATLAS13_pp_H_VV_qqqq_e,mass);
4465  CacheShiftReal(ip_ex_pp_H_VV_qqqq_ATLAS13_cache_e, NumPar, params, newResult);
4466  return newResult;
4467  }
4468 }
4469 
4470 
4471 
4473  int NumPar = 1;
4474  double params[] = {mass};
4475 
4476  int i = CacheCheckReal(ip_ex_pp_H_hh_bbbb_ATLAS13_cache, NumPar, params);
4477  if (i>=0) {
4478  return(ip_ex_pp_H_hh_bbbb_ATLAS13_cache[NumPar][i] );
4479  } else {
4480  double newResult = interpolate (ATLAS13_pp_H_hh_bbbb,mass);
4481  CacheShiftReal(ip_ex_pp_H_hh_bbbb_ATLAS13_cache, NumPar, params, newResult);
4482  return newResult;
4483  }
4484 }
4485 
4486 
4487 
4489  int NumPar = 1;
4490  double params[] = {mass};
4491 
4492  int i = CacheCheckReal(ip_ex_pp_H_hh_bbbb_ATLAS13_cache_e, NumPar, params);
4493  if (i>=0) {
4494  return(ip_ex_pp_H_hh_bbbb_ATLAS13_cache_e[NumPar][i] );
4495  } else {
4496  double newResult = interpolate (ATLAS13_pp_H_hh_bbbb_e,mass);
4497  CacheShiftReal(ip_ex_pp_H_hh_bbbb_ATLAS13_cache_e, NumPar, params, newResult);
4498  return newResult;
4499  }
4500 }
4501 
4502 
4503 
4505  int NumPar = 1;
4506  double params[] = {mass};
4507 
4508  int i = CacheCheckReal(ip_ex_pp_H_hh_gagabb_ATLAS13_cache, NumPar, params);
4509  if (i>=0) {
4510  return(ip_ex_pp_H_hh_gagabb_ATLAS13_cache[NumPar][i] );
4511  } else {
4512  double newResult = interpolate (ATLAS13_pp_H_hh_gagabb,mass);
4513  CacheShiftReal(ip_ex_pp_H_hh_gagabb_ATLAS13_cache, NumPar, params, newResult);
4514  return newResult;
4515  }
4516 }
4517 
4518 
4519 
4521  int NumPar = 1;
4522  double params[] = {mass};
4523 
4524  int i = CacheCheckReal(ip_ex_pp_H_hh_gagabb_ATLAS13_cache_e, NumPar, params);
4525  if (i>=0) {
4526  return(ip_ex_pp_H_hh_gagabb_ATLAS13_cache_e[NumPar][i] );
4527  } else {
4528  double newResult = interpolate (ATLAS13_pp_H_hh_gagabb_e,mass);
4529  CacheShiftReal(ip_ex_pp_H_hh_gagabb_ATLAS13_cache_e, NumPar, params, newResult);
4530  return newResult;
4531  }
4532 }
4533 
4534 
4535 
4537  int NumPar = 1;
4538  double params[] = {mass};
4539 
4540  int i = CacheCheckReal(ip_ex_pp_H_hh_gagaWW_ATLAS13_cache, NumPar, params);
4541  if (i>=0) {
4542  return(ip_ex_pp_H_hh_gagaWW_ATLAS13_cache[NumPar][i] );
4543  } else {
4544  double newResult = interpolate (ATLAS13_pp_H_hh_gagaWW,mass);
4545  CacheShiftReal(ip_ex_pp_H_hh_gagaWW_ATLAS13_cache, NumPar, params, newResult);
4546  return newResult;
4547  }
4548 }
4549 
4550 
4551 
4553  int NumPar = 1;
4554  double params[] = {mass};
4555 
4556  int i = CacheCheckReal(ip_ex_pp_H_hh_gagaWW_ATLAS13_cache_e, NumPar, params);
4557  if (i>=0) {
4558  return(ip_ex_pp_H_hh_gagaWW_ATLAS13_cache_e[NumPar][i] );
4559  } else {
4560  double newResult = interpolate (ATLAS13_pp_H_hh_gagaWW_e,mass);
4561  CacheShiftReal(ip_ex_pp_H_hh_gagaWW_ATLAS13_cache_e, NumPar, params, newResult);
4562  return newResult;
4563  }
4564 }
4565 
4566 
4567 
4569  int NumPar = 1;
4570  double params[] = {mass};
4571 
4572  int i = CacheCheckReal(ip_ex_gg_A_Zh_Zbb_ATLAS13_cache, NumPar, params);
4573  if (i>=0) {
4574  return(ip_ex_gg_A_Zh_Zbb_ATLAS13_cache[NumPar][i] );
4575  } else {
4576  double newResult = interpolate (ATLAS13_gg_A_Zh_Zbb,mass);
4577  CacheShiftReal(ip_ex_gg_A_Zh_Zbb_ATLAS13_cache, NumPar, params, newResult);
4578  return newResult;
4579  }
4580 }
4581 
4582 
4583 
4585  int NumPar = 1;
4586  double params[] = {mass};
4587 
4588  int i = CacheCheckReal(ip_ex_gg_A_Zh_Zbb_ATLAS13_cache_e, NumPar, params);
4589  if (i>=0) {
4590  return(ip_ex_gg_A_Zh_Zbb_ATLAS13_cache_e[NumPar][i] );
4591  } else {
4592  double newResult = interpolate (ATLAS13_gg_A_Zh_Zbb_e,mass);
4593  CacheShiftReal(ip_ex_gg_A_Zh_Zbb_ATLAS13_cache_e, NumPar, params, newResult);
4594  return newResult;
4595  }
4596 }
4597 
4598 
4599 
4601  int NumPar = 1;
4602  double params[] = {mass};
4603 
4604  int i = CacheCheckReal(ip_ex_bb_A_Zh_Zbb_ATLAS13_cache, NumPar, params);
4605  if (i>=0) {
4606  return(ip_ex_bb_A_Zh_Zbb_ATLAS13_cache[NumPar][i] );
4607  } else {
4608  double newResult = interpolate (ATLAS13_bb_A_Zh_Zbb,mass);
4609  CacheShiftReal(ip_ex_bb_A_Zh_Zbb_ATLAS13_cache, NumPar, params, newResult);
4610  return newResult;
4611  }
4612 }
4613 
4614 
4615 
4617  int NumPar = 1;
4618  double params[] = {mass};
4619 
4620  int i = CacheCheckReal(ip_ex_bb_A_Zh_Zbb_ATLAS13_cache_e, NumPar, params);
4621  if (i>=0) {
4622  return(ip_ex_bb_A_Zh_Zbb_ATLAS13_cache_e[NumPar][i] );
4623  } else {
4624  double newResult = interpolate (ATLAS13_bb_A_Zh_Zbb_e,mass);
4625  CacheShiftReal(ip_ex_bb_A_Zh_Zbb_ATLAS13_cache_e, NumPar, params, newResult);
4626  return newResult;
4627  }
4628 }
4629 
4630 
4631 
4633  int NumPar = 1;
4634  double params[] = {mass};
4635 
4636  int i = CacheCheckReal(ip_ex_pp_phi_bb_CMS13_cache, NumPar, params);
4637  if (i>=0) {
4638  return(ip_ex_pp_phi_bb_CMS13_cache[NumPar][i] );
4639  } else {
4640  double newResult = interpolate (CMS13_pp_phi_bb,mass);
4641  CacheShiftReal(ip_ex_pp_phi_bb_CMS13_cache, NumPar, params, newResult);
4642  return newResult;
4643  }
4644 }
4645 
4646 
4647 
4649  int NumPar = 1;
4650  double params[] = {mass};
4651 
4652  int i = CacheCheckReal(ip_ex_pp_phi_bb_CMS13_cache_e, NumPar, params);
4653  if (i>=0) {
4654  return(ip_ex_pp_phi_bb_CMS13_cache_e[NumPar][i] );
4655  } else {
4656  double newResult = interpolate (CMS13_pp_phi_bb_e,mass);
4657  CacheShiftReal(ip_ex_pp_phi_bb_CMS13_cache_e, NumPar, params, newResult);
4658  return newResult;
4659  }
4660 }
4661 
4662 
4663 
4665  int NumPar = 1;
4666  double params[] = {mass};
4667 
4668  int i = CacheCheckReal(ip_ex_gg_phi_tautau_CMS13_cache, NumPar, params);
4669  if (i>=0) {
4670  return(ip_ex_gg_phi_tautau_CMS13_cache[NumPar][i] );
4671  } else {
4672  double newResult = interpolate (CMS13_gg_phi_tautau,mass);
4673  CacheShiftReal(ip_ex_gg_phi_tautau_CMS13_cache, NumPar, params, newResult);
4674  return newResult;
4675  }
4676 }
4677 
4678 
4679 
4681  int NumPar = 1;
4682  double params[] = {mass};
4683 
4684  int i = CacheCheckReal(ip_ex_gg_phi_tautau_CMS13_cache_e, NumPar, params);
4685  if (i>=0) {
4686  return(ip_ex_gg_phi_tautau_CMS13_cache_e[NumPar][i] );
4687  } else {
4688  double newResult = interpolate (CMS13_gg_phi_tautau_e,mass);
4689  CacheShiftReal(ip_ex_gg_phi_tautau_CMS13_cache_e, NumPar, params, newResult);
4690  return newResult;
4691  }
4692 }
4693 
4694 
4695 
4697  int NumPar = 1;
4698  double params[] = {mass};
4699 
4700  int i = CacheCheckReal(ip_ex_bb_phi_tautau_CMS13_cache, NumPar, params);
4701  if (i>=0) {
4702  return(ip_ex_bb_phi_tautau_CMS13_cache[NumPar][i] );
4703  } else {
4704  double newResult = interpolate (CMS13_bb_phi_tautau,mass);
4705  CacheShiftReal(ip_ex_bb_phi_tautau_CMS13_cache, NumPar, params, newResult);
4706  return newResult;
4707  }
4708 }
4709 
4710 
4711 
4713  int NumPar = 1;
4714  double params[] = {mass};
4715 
4716  int i = CacheCheckReal(ip_ex_bb_phi_tautau_CMS13_cache_e, NumPar, params);
4717  if (i>=0) {
4718  return(ip_ex_bb_phi_tautau_CMS13_cache_e[NumPar][i] );
4719  } else {
4720  double newResult = interpolate (CMS13_bb_phi_tautau_e,mass);
4721  CacheShiftReal(ip_ex_bb_phi_tautau_CMS13_cache_e, NumPar, params, newResult);
4722  return newResult;
4723  }
4724 }
4725 
4726 
4727 
4729  int NumPar = 1;
4730  double params[] = {mass};
4731 
4732  int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS13_cache, NumPar, params);
4733  if (i>=0) {
4734  return(ip_ex_gg_phi_gaga_CMS13_cache[NumPar][i] );
4735  } else {
4736  double newResult = interpolate (CMS13_gg_phi_gaga,mass);
4737  CacheShiftReal(ip_ex_gg_phi_gaga_CMS13_cache, NumPar, params, newResult);
4738  return newResult;
4739  }
4740 }
4741 
4742 
4743 
4745  int NumPar = 1;
4746  double params[] = {mass};
4747 
4748  int i = CacheCheckReal(ip_ex_gg_phi_gaga_CMS13_cache_e, NumPar, params);
4749  if (i>=0) {
4750  return(ip_ex_gg_phi_gaga_CMS13_cache_e[NumPar][i] );
4751  } else {
4752  double newResult = interpolate (CMS13_gg_phi_gaga_e,mass);
4753  CacheShiftReal(ip_ex_gg_phi_gaga_CMS13_cache_e, NumPar, params, newResult);
4754  return newResult;
4755  }
4756 }
4757 
4758 
4759 
4761  int NumPar = 1;
4762  double params[] = {mass};
4763 
4764  int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_CMS13_cache, NumPar, params);
4765  if (i>=0) {
4766  return(ip_ex_pp_phi_Zga_llga_CMS13_cache[NumPar][i] );
4767  } else {
4768  double newResult = interpolate (CMS13_pp_phi_Zga_llga,mass);
4769  CacheShiftReal(ip_ex_pp_phi_Zga_llga_CMS13_cache, NumPar, params, newResult);
4770  return newResult;
4771  }
4772 }
4773 
4774 
4775 
4777  int NumPar = 1;
4778  double params[] = {mass};
4779 
4780  int i = CacheCheckReal(ip_ex_pp_phi_Zga_llga_CMS13_cache_e, NumPar, params);
4781  if (i>=0) {
4782  return(ip_ex_pp_phi_Zga_llga_CMS13_cache_e[NumPar][i] );
4783  } else {
4784  double newResult = interpolate (CMS13_pp_phi_Zga_llga_e,mass);
4785  CacheShiftReal(ip_ex_pp_phi_Zga_llga_CMS13_cache_e, NumPar, params, newResult);
4786  return newResult;
4787  }
4788 }
4789 
4790 
4791 
4793  int NumPar = 1;
4794  double params[] = {mass};
4795 
4796  int i = CacheCheckReal(ip_ex_pp_phi_Zga_qqga_CMS13_cache, NumPar, params);
4797  if (i>=0) {
4798  return(ip_ex_pp_phi_Zga_qqga_CMS13_cache[NumPar][i] );
4799  } else {
4800  double newResult = interpolate (CMS13_pp_phi_Zga_qqga,mass);
4801  CacheShiftReal(ip_ex_pp_phi_Zga_qqga_CMS13_cache, NumPar, params, newResult);
4802  return newResult;
4803  }
4804 }
4805 
4806 
4807 
4809  int NumPar = 1;
4810  double params[] = {mass};
4811 
4812  int i = CacheCheckReal(ip_ex_pp_phi_Zga_qqga_CMS13_cache_e, NumPar, params);
4813  if (i>=0) {
4814  return(ip_ex_pp_phi_Zga_qqga_CMS13_cache_e[NumPar][i] );
4815  } else {
4816  double newResult = interpolate (CMS13_pp_phi_Zga_qqga_e,mass);
4817  CacheShiftReal(ip_ex_pp_phi_Zga_qqga_CMS13_cache_e, NumPar, params, newResult);
4818  return newResult;
4819  }
4820 }
4821 
4822 
4823 
4825  int NumPar = 1;
4826  double params[] = {mass};
4827 
4828  int i = CacheCheckReal(ip_ex_ggF_phi_Zga_CMS13_cache, NumPar, params);
4829  if (i>=0) {
4830  return(ip_ex_ggF_phi_Zga_CMS13_cache[NumPar][i] );
4831  } else {
4832  double newResult = interpolate (CMS13_ggF_phi_Zga,mass);
4833  CacheShiftReal(ip_ex_ggF_phi_Zga_CMS13_cache, NumPar, params, newResult);
4834  return newResult;
4835  }
4836 }
4837 
4838 
4839 
4841  int NumPar = 1;
4842  double params[] = {mass};
4843 
4844  int i = CacheCheckReal(ip_ex_ggF_phi_Zga_CMS13_cache_e, NumPar, params);
4845  if (i>=0) {
4846  return(ip_ex_ggF_phi_Zga_CMS13_cache_e[NumPar][i] );
4847  } else {
4848  double newResult = interpolate (CMS13_ggF_phi_Zga_e,mass);
4849  CacheShiftReal(ip_ex_ggF_phi_Zga_CMS13_cache_e, NumPar, params, newResult);
4850  return newResult;
4851  }
4852 }
4853 
4854 
4855 
4857  int NumPar = 1;
4858  double params[] = {mass};
4859 
4860  int i = CacheCheckReal(ip_ex_pp_H_ZZ_llnunu_CMS13_cache, NumPar, params);
4861  if (i>=0) {
4862  return(ip_ex_pp_H_ZZ_llnunu_CMS13_cache[NumPar][i] );
4863  } else {
4864  double newResult = interpolate (CMS13_pp_H_ZZ_llnunu,mass);
4865  CacheShiftReal(ip_ex_pp_H_ZZ_llnunu_CMS13_cache, NumPar, params, newResult);
4866  return newResult;
4867  }
4868 }
4869 
4870 
4871 
4873  int NumPar = 1;
4874  double params[] = {mass};
4875 
4876  int i = CacheCheckReal(ip_ex_pp_H_ZZ_llnunu_CMS13_cache_e, NumPar, params);
4877  if (i>=0) {
4878  return(ip_ex_pp_H_ZZ_llnunu_CMS13_cache_e[NumPar][i] );
4879  } else {
4880  double newResult = interpolate (CMS13_pp_H_ZZ_llnunu_e,mass);
4881  CacheShiftReal(ip_ex_pp_H_ZZ_llnunu_CMS13_cache_e, NumPar, params, newResult);
4882  return newResult;
4883  }
4884 }
4885 
4886 
4887 
4889  int NumPar = 1;
4890  double params[] = {mass};
4891 
4892  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llnunu_CMS13_cache, NumPar, params);
4893  if (i>=0) {
4894  return(ip_ex_gg_H_ZZ_llnunu_CMS13_cache[NumPar][i] );
4895  } else {
4896  double newResult = interpolate (CMS13_gg_H_ZZ_llnunu,mass);
4897  CacheShiftReal(ip_ex_gg_H_ZZ_llnunu_CMS13_cache, NumPar, params, newResult);
4898  return newResult;
4899  }
4900 }
4901 
4902 
4903 
4905  int NumPar = 1;
4906  double params[] = {mass};
4907 
4908  int i = CacheCheckReal(ip_ex_gg_H_ZZ_llnunu_CMS13_cache_e, NumPar, params);
4909  if (i>=0) {
4910  return(ip_ex_gg_H_ZZ_llnunu_CMS13_cache_e[NumPar][i] );
4911  } else {
4912  double newResult = interpolate (CMS13_gg_H_ZZ_llnunu_e,mass);
4913  CacheShiftReal(ip_ex_gg_H_ZZ_llnunu_CMS13_cache_e, NumPar, params, newResult);
4914  return newResult;
4915  }
4916 }
4917 
4918 
4919 
4921  int NumPar = 1;
4922  double params[] = {mass};
4923 
4924  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_llnunu_CMS13_cache, NumPar, params);
4925  if (i>=0) {
4926  return(ip_ex_VBF_H_ZZ_llnunu_CMS13_cache[NumPar][i] );
4927  } else {
4928  double newResult = interpolate (CMS13_VBF_H_ZZ_llnunu,mass);
4929  CacheShiftReal(ip_ex_VBF_H_ZZ_llnunu_CMS13_cache, NumPar, params, newResult);
4930  return newResult;
4931  }
4932 }
4933 
4934 
4935 
4937  int NumPar = 1;
4938  double params[] = {mass};
4939 
4940  int i = CacheCheckReal(ip_ex_VBF_H_ZZ_llnunu_CMS13_cache_e, NumPar, params);
4941  if (i>=0) {
4942  return(ip_ex_VBF_H_ZZ_llnunu_CMS13_cache_e[NumPar][i] );
4943  } else {
4944  double newResult = interpolate (CMS13_VBF_H_ZZ_llnunu_e,mass);
4945  CacheShiftReal(ip_ex_VBF_H_ZZ_llnunu_CMS13_cache_e, NumPar, params, newResult);
4946  return newResult;
4947  }
4948 }
4949 
4950 
4951 
4953  int NumPar = 1;
4954  double params[] = {mass};
4955 
4956  int i = CacheCheckReal(ip_ex_pp_H_ZZ_llll_CMS13_cache, NumPar, params);
4957  if (i>=0) {
4958  return(ip_ex_pp_H_ZZ_llll_CMS13_cache[NumPar][i] );
4959  } else {
4960  double newResult = interpolate (CMS13_pp_H_ZZ_llll,mass);
4961  CacheShiftReal(ip_ex_pp_H_ZZ_llll_CMS13_cache, NumPar, params, newResult);
4962  return newResult;
4963  }
4964 }
4965 
4966 
4967 
4969  int NumPar = 1;
4970  double params[] = {mass};
4971 
4972  int i = CacheCheckReal(ip_ex_pp_H_ZZ_llll_CMS13_cache_e, NumPar, params);
4973  if (i>=0) {
4974  return(ip_ex_pp_H_ZZ_llll_CMS13_cache_e[NumPar][i] );
4975  } else {
4976  double newResult = interpolate (CMS13_pp_H_ZZ_llll_e,mass);
4977  CacheShiftReal(ip_ex_pp_H_ZZ_llll_CMS13_cache_e, NumPar, params, newResult);
4978  return newResult;
4979  }
4980 }
4981 
4982 
4983 
4985  int NumPar = 1;
4986  double params[] = {mass};
4987 
4988  int i = CacheCheckReal(ip_ex_VBF_VH_H_ZZ_llll_CMS13_cache, NumPar, params);
4989  if (i>=0) {
4990  return(ip_ex_VBF_VH_H_ZZ_llll_CMS13_cache[NumPar][i] );
4991  } else {
4992  double newResult = interpolate (CMS13_VBFVH_H_ZZ_llll,mass);
4993  CacheShiftReal(ip_ex_VBF_VH_H_ZZ_llll_CMS13_cache, NumPar, params, newResult);
4994  return newResult;
4995  }
4996 }
4997 
4998 
4999 
5001  int NumPar = 1;
5002  double params[] = {mass};
5003 
5004  int i = CacheCheckReal(ip_ex_VBF_VH_H_ZZ_llll_CMS13_cache_e, NumPar, params);
5005  if (i>=0) {
5006  return(ip_ex_VBF_VH_H_ZZ_llll_CMS13_cache_e[NumPar][i] );
5007  } else {
5008  double newResult = interpolate (CMS13_VBFVH_H_ZZ_llll_e,mass);
5009  CacheShiftReal(ip_ex_VBF_VH_H_ZZ_llll_CMS13_cache_e, NumPar, params, newResult);
5010  return newResult;
5011  }
5012 }
5013 
5014 
5015 
5017  int NumPar = 1;
5018  double params[] = {mass};
5019 
5020  int i = CacheCheckReal(ip_ex_pp_H_ZZ_llqq_CMS13_cache, NumPar, params);
5021  if (i>=0) {
5022  return(ip_ex_pp_H_ZZ_llqq_CMS13_cache[NumPar][i] );
5023  } else {
5024  double newResult = interpolate (CMS13_pp_H_ZZ_llqq,mass);
5025  CacheShiftReal(ip_ex_pp_H_ZZ_llqq_CMS13_cache, NumPar, params, newResult);
5026  return newResult;
5027  }
5028 }
5029 
5030 
5031 
5033  int NumPar = 1;
5034  double params[] = {mass};
5035 
5036  int i = CacheCheckReal(ip_ex_pp_H_ZZ_llqq_CMS13_cache_e, NumPar, params);
5037  if (i>=0) {
5038  return(ip_ex_pp_H_ZZ_llqq_CMS13_cache_e[NumPar][i] );
5039  } else {
5040  double newResult = interpolate (CMS13_pp_H_ZZ_llqq_e,mass);
5041  CacheShiftReal(ip_ex_pp_H_ZZ_llqq_CMS13_cache_e, NumPar, params, newResult);
5042  return newResult;
5043  }
5044 }
5045 
5046 
5047 
5049  int NumPar = 1;
5050  double params[] = {mass};
5051 
5052  int i = CacheCheckReal(ip_ex_ggVV_H_WW_lnulnu_CMS13_cache, NumPar, params);
5053  if (i>=0) {
5054  return(ip_ex_ggVV_H_WW_lnulnu_CMS13_cache[NumPar][i] );
5055  } else {
5056  double newResult = interpolate (CMS13_ggFVBF_H_WW_lnulnu,mass);
5057  CacheShiftReal(ip_ex_ggVV_H_WW_lnulnu_CMS13_cache, NumPar, params, newResult);
5058  return newResult;
5059  }
5060 }
5061 
5062 
5063 
5065  int NumPar = 1;
5066  double params[] = {mass};
5067 
5068  int i = CacheCheckReal(ip_ex_ggVV_H_WW_lnulnu_CMS13_cache_e, NumPar, params);
5069  if (i>=0) {
5070  return(ip_ex_ggVV_H_WW_lnulnu_CMS13_cache_e[NumPar][i] );
5071  } else {
5072  double newResult = interpolate (CMS13_ggFVBF_H_WW_lnulnu_e,mass);
5073  CacheShiftReal(ip_ex_ggVV_H_WW_lnulnu_CMS13_cache_e, NumPar, params, newResult);
5074  return newResult;
5075  }
5076 }
5077 
5078 
5079 
5081  int NumPar = 1;
5082  double params[] = {mass};
5083 
5084  int i = CacheCheckReal(ip_ex_pp_H_hh_bbbb_CMS13_cache, NumPar, params);
5085  if (i>=0) {
5086  return(ip_ex_pp_H_hh_bbbb_CMS13_cache[NumPar][i] );
5087  } else {
5088  double newResult = interpolate (CMS13_pp_H_hh_bbbb,mass);
5089  CacheShiftReal(ip_ex_pp_H_hh_bbbb_CMS13_cache, NumPar, params, newResult);
5090  return newResult;
5091  }
5092 }
5093 
5094 
5095 
5097  int NumPar = 1;
5098  double params[] = {mass};
5099 
5100  int i = CacheCheckReal(ip_ex_pp_H_hh_bbbb_CMS13_cache_e, NumPar, params);
5101  if (i>=0) {
5102  return(ip_ex_pp_H_hh_bbbb_CMS13_cache_e[NumPar][i] );
5103  } else {
5104  double newResult = interpolate (CMS13_pp_H_hh_bbbb_e,mass);
5105  CacheShiftReal(ip_ex_pp_H_hh_bbbb_CMS13_cache_e, NumPar, params, newResult);
5106  return newResult;
5107  }
5108 }
5109 
5110 
5111 
5113  int NumPar = 1;
5114  double params[] = {mass};
5115 
5116  int i = CacheCheckReal(ip_ex_ggF_H_hh_bbbb_CMS13_cache, NumPar, params);
5117  if (i>=0) {
5118  return(ip_ex_ggF_H_hh_bbbb_CMS13_cache[NumPar][i] );
5119  } else {
5120  double newResult = interpolate (CMS13_ggF_H_hh_bbbb,mass);
5121  CacheShiftReal(ip_ex_ggF_H_hh_bbbb_CMS13_cache, NumPar, params, newResult);
5122  return newResult;
5123  }
5124 }
5125 
5126 
5127 
5129  int NumPar = 1;
5130  double params[] = {mass};
5131 
5132  int i = CacheCheckReal(ip_ex_ggF_H_hh_bbbb_CMS13_cache_e, NumPar, params);
5133  if (i>=0) {
5134  return(ip_ex_ggF_H_hh_bbbb_CMS13_cache_e[NumPar][i] );
5135  } else {
5136  double newResult = interpolate (CMS13_ggF_H_hh_bbbb_e,mass);
5137  CacheShiftReal(ip_ex_ggF_H_hh_bbbb_CMS13_cache_e, NumPar, params, newResult);
5138  return newResult;
5139  }
5140 }
5141 
5142 
5143 
5145  int NumPar = 1;
5146  double params[] = {mass};
5147 
5148  int i = CacheCheckReal(ip_ex_pp_H_hh_gagabb_CMS13_cache, NumPar, params);
5149  if (i>=0) {
5150  return(ip_ex_pp_H_hh_gagabb_CMS13_cache[NumPar][i] );
5151  } else {
5152  double newResult = interpolate (CMS13_pp_H_hh_gagabb,mass);
5153  CacheShiftReal(ip_ex_pp_H_hh_gagabb_CMS13_cache, NumPar, params, newResult);
5154  return newResult;
5155  }
5156 }
5157 
5158 
5159 
5161  int NumPar = 1;
5162  double params[] = {mass};
5163 
5164  int i = CacheCheckReal(ip_ex_pp_H_hh_gagabb_CMS13_cache_e, NumPar, params);
5165  if (i>=0) {
5166  return(ip_ex_pp_H_hh_gagabb_CMS13_cache_e[NumPar][i] );
5167  } else {
5168  double newResult = interpolate (CMS13_pp_H_hh_gagabb_e,mass);
5169  CacheShiftReal(ip_ex_pp_H_hh_gagabb_CMS13_cache_e, NumPar, params, newResult);
5170  return newResult;
5171  }
5172 }
5173 
5174 
5175 
5177  int NumPar = 1;
5178  double params[] = {mass};
5179 
5180  int i = CacheCheckReal(ip_ex_pp_H_hh_bbtautau_CMS13_cache, NumPar, params);
5181  if (i>=0) {
5182  return(ip_ex_pp_H_hh_bbtautau_CMS13_cache[NumPar][i] );
5183  } else {
5184  double newResult = interpolate (CMS13_pp_H_hh_bbtautau,mass);
5185  CacheShiftReal(ip_ex_pp_H_hh_bbtautau_CMS13_cache, NumPar, params, newResult);
5186  return newResult;
5187  }
5188 }
5189 
5190 
5191 
5193  int NumPar = 1;
5194  double params[] = {mass};
5195 
5196  int i = CacheCheckReal(ip_ex_pp_H_hh_bbtautau_CMS13_cache_e, NumPar, params);
5197  if (i>=0) {
5198  return(ip_ex_pp_H_hh_bbtautau_CMS13_cache_e[NumPar][i] );
5199  } else {
5200  double newResult = interpolate (CMS13_pp_H_hh_bbtautau_e,mass);
5201  CacheShiftReal(ip_ex_pp_H_hh_bbtautau_CMS13_cache_e, NumPar, params, newResult);
5202  return newResult;
5203  }
5204 }
5205 
5206 
5207 
5209  int NumPar = 1;
5210  double params[] = {mass};
5211 
5212  int i = CacheCheckReal(ip_ex_pp_H_hh_bbtautau1_CMS13_cache, NumPar, params);
5213  if (i>=0) {
5214  return(ip_ex_pp_H_hh_bbtautau1_CMS13_cache[NumPar][i] );
5215  } else {
5216  double newResult = interpolate (CMS13_pp_H_hh_bbtautau1,mass);
5217  CacheShiftReal(ip_ex_pp_H_hh_bbtautau1_CMS13_cache, NumPar, params, newResult);
5218  return newResult;
5219  }
5220 }
5221 
5222 
5223 
5225  int NumPar = 1;
5226  double params[] = {mass};
5227 
5228  int i = CacheCheckReal(ip_ex_pp_H_hh_bbtautau1_CMS13_cache_e, NumPar, params);
5229  if (i>=0) {
5230  return(ip_ex_pp_H_hh_bbtautau1_CMS13_cache_e[NumPar][i] );
5231  } else {
5232  double newResult = interpolate (CMS13_pp_H_hh_bbtautau1_e,mass);
5233  CacheShiftReal(ip_ex_pp_H_hh_bbtautau1_CMS13_cache_e, NumPar, params, newResult);
5234  return newResult;
5235  }
5236 }
5237 
5238 
5239 
5241  int NumPar = 1;
5242  double params[] = {mass};
5243 
5244  int i = CacheCheckReal(ip_ex_pp_H_hh_bblnulnu_CMS13_cache, NumPar, params);
5245  if (i>=0) {
5246  return(ip_ex_pp_H_hh_bblnulnu_CMS13_cache[NumPar][i] );
5247  } else {
5248  double newResult = interpolate (CMS13_pp_H_hh_bblnulnu,mass);
5249  CacheShiftReal(ip_ex_pp_H_hh_bblnulnu_CMS13_cache, NumPar, params, newResult);
5250  return newResult;
5251  }
5252 }
5253 
5254 
5255 
5257  int NumPar = 1;
5258  double params[] = {mass};
5259 
5260  int i = CacheCheckReal(ip_ex_pp_H_hh_bblnulnu_CMS13_cache_e, NumPar, params);
5261  if (i>=0) {
5262  return(ip_ex_pp_H_hh_bblnulnu_CMS13_cache_e[NumPar][i] );
5263  } else {
5264  double newResult = interpolate (CMS13_pp_H_hh_bblnulnu_e,mass);
5265  CacheShiftReal(ip_ex_pp_H_hh_bblnulnu_CMS13_cache_e, NumPar, params, newResult);
5266  return newResult;
5267  }
5268 }
5269 
5270 
5271 
5273  int NumPar = 1;
5274  double params[] = {mass};
5275 
5276  int i = CacheCheckReal(ip_ex_pp_H_hh_bbVV_CMS13_cache, NumPar, params);
5277  if (i>=0) {
5278  return(ip_ex_pp_H_hh_bbVV_CMS13_cache[NumPar][i] );
5279  } else {
5280  double newResult = interpolate (CMS13_pp_H_hh_bbVV,mass);
5281  CacheShiftReal(ip_ex_pp_H_hh_bbVV_CMS13_cache, NumPar, params, newResult);
5282  return newResult;
5283  }
5284 }
5285 
5286 
5287 
5289  int NumPar = 1;
5290  double params[] = {mass};
5291 
5292  int i = CacheCheckReal(ip_ex_pp_H_hh_bbVV_CMS13_cache_e, NumPar, params);
5293  if (i>=0) {
5294  return(ip_ex_pp_H_hh_bbVV_CMS13_cache_e[NumPar][i] );
5295  } else {
5296  double newResult = interpolate (CMS13_pp_H_hh_bbVV_e,mass);
5297  CacheShiftReal(ip_ex_pp_H_hh_bbVV_CMS13_cache_e, NumPar, params, newResult);
5298  return newResult;
5299  }
5300 }
5301 
5302 
5303 
5304 double THDMcache::ie1(double mass){
5305  int NumPar = 1;
5306  double params[] = {mass};
5307 
5308  int i = CacheCheckReal(ie1c, NumPar, params);
5309  if (i>=0) {
5310  return(ie1c[NumPar][i] );
5311  } else {
5312  double newResult = interpolate (temp1,mass);
5313  CacheShiftReal(ie1c, NumPar, params, newResult);
5314  return newResult;
5315  }
5316 }
5317 
5318 
5319 
5320 double THDMcache::ie1e(double mass){
5321  int NumPar = 1;
5322  double params[] = {mass};
5323 
5324  int i = CacheCheckReal(ie1ec, NumPar, params);
5325  if (i>=0) {
5326  return(ie1ec[NumPar][i] );
5327  } else {
5328  double newResult = interpolate (temp1e,mass);
5329  CacheShiftReal(ie1ec, NumPar, params, newResult);
5330  return newResult;
5331  }
5332 }
5333 
5334 
5335 
5336 double THDMcache::ie2(double mass){
5337  int NumPar = 1;
5338  double params[] = {mass};
5339 
5340  int i = CacheCheckReal(ie2c, NumPar, params);
5341  if (i>=0) {
5342  return(ie2c[NumPar][i] );
5343  } else {
5344  double newResult = interpolate (temp2,mass);
5345  CacheShiftReal(ie2c, NumPar, params, newResult);
5346  return newResult;
5347  }
5348 }
5349 
5350 
5351 
5352 double THDMcache::ie2e(double mass){
5353  int NumPar = 1;
5354  double params[] = {mass};
5355 
5356  int i = CacheCheckReal(ie2ec, NumPar, params);
5357  if (i>=0) {
5358  return(ie2ec[NumPar][i] );
5359  } else {
5360  double newResult = interpolate (temp2e,mass);
5361  CacheShiftReal(ie2ec, NumPar, params, newResult);
5362  return newResult;
5363  }
5364 }
5365 
5366 
5367 
5368 double THDMcache::ie3(double mass){
5369  int NumPar = 1;
5370  double params[] = {mass};
5371 
5372  int i = CacheCheckReal(ie3c, NumPar, params);
5373  if (i>=0) {
5374  return(ie3c[NumPar][i] );
5375  } else {
5376  double newResult = interpolate (temp3,mass);
5377  CacheShiftReal(ie3c, NumPar, params, newResult);
5378  return newResult;
5379  }
5380 }
5381 
5382 
5383 
5384 double THDMcache::ie3e(double mass){
5385  int NumPar = 1;
5386  double params[] = {mass};
5387 
5388  int i = CacheCheckReal(ie3ec, NumPar, params);
5389  if (i>=0) {
5390  return(ie3ec[NumPar][i] );
5391  } else {
5392  double newResult = interpolate (temp3e,mass);
5393  CacheShiftReal(ie3ec, NumPar, params, newResult);
5394  return newResult;
5395  }
5396 }
5397 
5398 
5399 
5400 double THDMcache::ie4(double mass){
5401  int NumPar = 1;
5402  double params[] = {mass};
5403 
5404  int i = CacheCheckReal(ie4c, NumPar, params);
5405  if (i>=0) {
5406  return(ie4c[NumPar][i] );
5407  } else {
5408  double newResult = interpolate (temp4,mass);
5409  CacheShiftReal(ie4c, NumPar, params, newResult);
5410  return newResult;
5411  }
5412 }
5413 
5414 
5415 
5416 double THDMcache::ie4e(double mass){
5417  int NumPar = 1;
5418  double params[] = {mass};
5419 
5420  int i = CacheCheckReal(ie4ec, NumPar, params);
5421  if (i>=0) {
5422  return(ie4ec[NumPar][i] );
5423  } else {
5424  double newResult = interpolate (temp4e,mass);
5425  CacheShiftReal(ie4ec, NumPar, params, newResult);
5426  return newResult;
5427  }
5428 }
5429 
5430 
5431 
5432 double THDMcache::ie5(double mass){
5433  int NumPar = 1;
5434  double params[] = {mass};
5435 
5436  int i = CacheCheckReal(ie5c, NumPar, params);
5437  if (i>=0) {
5438  return(ie5c[NumPar][i] );
5439  } else {
5440  double newResult = interpolate (temp5,mass);
5441  CacheShiftReal(ie5c, NumPar, params, newResult);
5442  return newResult;
5443  }
5444 }
5445 
5446 
5447 
5448 double THDMcache::ie5e(double mass){
5449  int NumPar = 1;
5450  double params[] = {mass};
5451 
5452  int i = CacheCheckReal(ie5ec, NumPar, params);
5453  if (i>=0) {
5454  return(ie5ec[NumPar][i] );
5455  } else {
5456  double newResult = interpolate (temp5e,mass);
5457  CacheShiftReal(ie5ec, NumPar, params, newResult);
5458  return newResult;
5459  }
5460 }
5461 
5462 
5463 
5464 double THDMcache::ie6(double mass){
5465  int NumPar = 1;
5466  double params[] = {mass};
5467 
5468  int i = CacheCheckReal(ie6c, NumPar, params);
5469  if (i>=0) {
5470  return(ie6c[NumPar][i] );
5471  } else {
5472  double newResult = interpolate (temp6,mass);
5473  CacheShiftReal(ie6c, NumPar, params, newResult);
5474  return newResult;
5475  }
5476 }
5477 
5478 
5479 
5480 double THDMcache::ie6e(double mass){
5481  int NumPar = 1;
5482  double params[] = {mass};
5483 
5484  int i = CacheCheckReal(ie6ec, NumPar, params);
5485  if (i>=0) {
5486  return(ie6ec[NumPar][i] );
5487  } else {
5488  double newResult = interpolate (temp6e,mass);
5489  CacheShiftReal(ie6ec, NumPar, params, newResult);
5490  return newResult;
5491  }
5492 }
5493 
5494 
5495 
5496 double THDMcache::ie7(double mass){
5497  int NumPar = 1;
5498  double params[] = {mass};
5499 
5500  int i = CacheCheckReal(ie7c, NumPar, params);
5501  if (i>=0) {
5502  return(ie7c[NumPar][i] );
5503  } else {
5504  double newResult = interpolate (temp7,mass);
5505  CacheShiftReal(ie7c, NumPar, params, newResult);
5506  return newResult;
5507  }
5508 }
5509 
5510 
5511 
5512 double THDMcache::ie7e(double mass){
5513  int NumPar = 1;
5514  double params[] = {mass};
5515 
5516  int i = CacheCheckReal(ie7ec, NumPar, params);
5517  if (i>=0) {
5518  return(ie7ec[NumPar][i] );
5519  } else {
5520  double newResult = interpolate (temp7e,mass);
5521  CacheShiftReal(ie7ec, NumPar, params, newResult);
5522  return newResult;
5523  }
5524 }
5525 
5526 
5527 
5528 double THDMcache::ie8(double mass){
5529  int NumPar = 1;
5530  double params[] = {mass};
5531 
5532  int i = CacheCheckReal(ie8c, NumPar, params);
5533  if (i>=0) {
5534  return(ie8c[NumPar][i] );
5535  } else {
5536  double newResult = interpolate (temp8,mass);
5537  CacheShiftReal(ie8c, NumPar, params, newResult);
5538  return newResult;
5539  }
5540 }
5541 
5542 
5543 
5544 double THDMcache::ie8e(double mass){
5545  int NumPar = 1;
5546  double params[] = {mass};
5547 
5548  int i = CacheCheckReal(ie8ec, NumPar, params);
5549  if (i>=0) {
5550  return(ie8ec[NumPar][i] );
5551  } else {
5552  double newResult = interpolate (temp8e,mass);
5553  CacheShiftReal(ie8ec, NumPar, params, newResult);
5554  return newResult;
5555  }
5556 }
5557 
5558 
5559 
5560 double THDMcache::ie9(double mass){
5561  int NumPar = 1;
5562  double params[] = {mass};
5563 
5564  int i = CacheCheckReal(ie9c, NumPar, params);
5565  if (i>=0) {
5566  return(ie9c[NumPar][i] );
5567  } else {
5568  double newResult = interpolate (temp9,mass);
5569  CacheShiftReal(ie9c, NumPar, params, newResult);
5570  return newResult;
5571  }
5572 }
5573 
5574 
5575 
5576 double THDMcache::ie9e(double mass){
5577  int NumPar = 1;
5578  double params[] = {mass};
5579 
5580  int i = CacheCheckReal(ie9ec, NumPar, params);
5581  if (i>=0) {
5582  return(ie9ec[NumPar][i] );
5583  } else {
5584  double newResult = interpolate (temp9e,mass);
5585  CacheShiftReal(ie9ec, NumPar, params, newResult);
5586  return newResult;
5587  }
5588 }
5589 
5590 
5591 
5592 double THDMcache::ie10(double mass){
5593  int NumPar = 1;
5594  double params[] = {mass};
5595 
5596  int i = CacheCheckReal(ie10c, NumPar, params);
5597  if (i>=0) {
5598  return(ie10c[NumPar][i] );
5599  } else {
5600  double newResult = interpolate (temp10,mass);
5601  CacheShiftReal(ie10c, NumPar, params, newResult);
5602  return newResult;
5603  }
5604 }
5605 
5606 
5607 
5608 double THDMcache::ie10e(double mass){
5609  int NumPar = 1;
5610  double params[] = {mass};
5611 
5612  int i = CacheCheckReal(ie10ec, NumPar, params);
5613  if (i>=0) {
5614  return(ie10ec[NumPar][i] );
5615  } else {
5616  double newResult = interpolate (temp10e,mass);
5617  CacheShiftReal(ie10ec, NumPar, params, newResult);
5618  return newResult;
5619  }
5620 }
5621 
5622 
5623 
5624 double THDMcache::ie11(double mass){
5625  int NumPar = 1;
5626  double params[] = {mass};
5627 
5628  int i = CacheCheckReal(ie11c, NumPar, params);
5629  if (i>=0) {
5630  return(ie11c[NumPar][i] );
5631  } else {
5632  double newResult = interpolate (temp11,mass);
5633  CacheShiftReal(ie11c, NumPar, params, newResult);
5634  return newResult;
5635  }
5636 }
5637 
5638 
5639 
5640 double THDMcache::ie11e(double mass){
5641  int NumPar = 1;
5642  double params[] = {mass};
5643 
5644  int i = CacheCheckReal(ie11ec, NumPar, params);
5645  if (i>=0) {
5646  return(ie11ec[NumPar][i] );
5647  } else {
5648  double newResult = interpolate (temp11e,mass);
5649  CacheShiftReal(ie11ec, NumPar, params, newResult);
5650  return newResult;
5651  }
5652 }
5653 
5654 
5655 
5656 double THDMcache::ie12(double mass){
5657  int NumPar = 1;
5658  double params[] = {mass};
5659 
5660  int i = CacheCheckReal(ie12c, NumPar, params);
5661  if (i>=0) {
5662  return(ie12c[NumPar][i] );
5663  } else {
5664  double newResult = interpolate (temp12,mass);
5665  CacheShiftReal(ie12c, NumPar, params, newResult);
5666  return newResult;
5667  }
5668 }
5669 
5670 
5671 
5672 double THDMcache::ie12e(double mass){
5673  int NumPar = 1;
5674  double params[] = {mass};
5675 
5676  int i = CacheCheckReal(ie12ec, NumPar, params);
5677  if (i>=0) {
5678  return(ie12ec[NumPar][i] );
5679  } else {
5680  double newResult = interpolate (temp12e,mass);
5681  CacheShiftReal(ie12ec, NumPar, params, newResult);
5682  return newResult;
5683  }
5684 }
5685 
5686 
5687 
5688 double THDMcache::ie13(double mass){
5689  int NumPar = 1;
5690  double params[] = {mass};
5691 
5692  int i = CacheCheckReal(ie13c, NumPar, params);
5693  if (i>=0) {
5694  return(ie13c[NumPar][i] );
5695  } else {
5696  double newResult = interpolate (temp13,mass);
5697  CacheShiftReal(ie13c, NumPar, params, newResult);
5698  return newResult;
5699  }
5700 }
5701 
5702 
5703 
5704 double THDMcache::ie13e(double mass){
5705  int NumPar = 1;
5706  double params[] = {mass};
5707 
5708  int i = CacheCheckReal(ie13ec, NumPar, params);
5709  if (i>=0) {
5710  return(ie13ec[NumPar][i] );
5711  } else {
5712  double newResult = interpolate (temp13e,mass);
5713  CacheShiftReal(ie13ec, NumPar, params, newResult);
5714  return newResult;
5715  }
5716 }
5717 
5718 
5719 
5720 double THDMcache::ie14(double mass){
5721  int NumPar = 1;
5722  double params[] = {mass};
5723 
5724  int i = CacheCheckReal(ie14c, NumPar, params);
5725  if (i>=0) {
5726  return(ie14c[NumPar][i] );
5727  } else {
5728  double newResult = interpolate (temp14,mass);
5729  CacheShiftReal(ie14c, NumPar, params, newResult);
5730  return newResult;
5731  }
5732 }
5733 
5734 
5735 
5736 double THDMcache::ie14e(double mass){
5737  int NumPar = 1;
5738  double params[] = {mass};
5739 
5740  int i = CacheCheckReal(ie14ec, NumPar, params);
5741  if (i>=0) {
5742  return(ie14ec[NumPar][i] );
5743  } else {
5744  double newResult = interpolate (temp14e,mass);
5745  CacheShiftReal(ie14ec, NumPar, params, newResult);
5746  return newResult;
5747  }
5748 }
5749 
5750 
5751 
5752 double THDMcache::ie15(double mass){
5753  int NumPar = 1;
5754  double params[] = {mass};
5755 
5756  int i = CacheCheckReal(ie15c, NumPar, params);
5757  if (i>=0) {
5758  return(ie15c[NumPar][i] );
5759  } else {
5760  double newResult = interpolate (temp15,mass);
5761  CacheShiftReal(ie15c, NumPar, params, newResult);
5762  return newResult;
5763  }
5764 }
5765 
5766 
5767 
5768 double THDMcache::ie15e(double mass){
5769  int NumPar = 1;
5770  double params[] = {mass};
5771 
5772  int i = CacheCheckReal(ie15ec, NumPar, params);
5773  if (i>=0) {
5774  return(ie15ec[NumPar][i] );
5775  } else {
5776  double newResult = interpolate (temp15e,mass);
5777  CacheShiftReal(ie15ec, NumPar, params, newResult);
5778  return newResult;
5779  }
5780 }
5781 
5782 
5783 
5784 double THDMcache::ie16(double mass){
5785  int NumPar = 1;
5786  double params[] = {mass};
5787 
5788  int i = CacheCheckReal(ie16c, NumPar, params);
5789  if (i>=0) {
5790  return(ie16c[NumPar][i] );
5791  } else {
5792  double newResult = interpolate (temp16,mass);
5793  CacheShiftReal(ie16c, NumPar, params, newResult);
5794  return newResult;
5795  }
5796 }
5797 
5798 
5799 
5800 double THDMcache::ie16e(double mass){
5801  int NumPar = 1;
5802  double params[] = {mass};
5803 
5804  int i = CacheCheckReal(ie16ec, NumPar, params);
5805  if (i>=0) {
5806  return(ie16ec[NumPar][i] );
5807  } else {
5808  double newResult = interpolate (temp16e,mass);
5809  CacheShiftReal(ie16ec, NumPar, params, newResult);
5810  return newResult;
5811  }
5812 }
5813 
5814 
5815 
5816 double THDMcache::ie17(double mass){
5817  int NumPar = 1;
5818  double params[] = {mass};
5819 
5820  int i = CacheCheckReal(ie17c, NumPar, params);
5821  if (i>=0) {
5822  return(ie17c[NumPar][i] );
5823  } else {
5824  double newResult = interpolate (temp17,mass);
5825  CacheShiftReal(ie17c, NumPar, params, newResult);
5826  return newResult;
5827  }
5828 }
5829 
5830 
5831 
5832 double THDMcache::ie17e(double mass){
5833  int NumPar = 1;
5834  double params[] = {mass};
5835 
5836  int i = CacheCheckReal(ie17ec, NumPar, params);
5837  if (i>=0) {
5838  return(ie17ec[NumPar][i] );
5839  } else {
5840  double newResult = interpolate (temp17e,mass);
5841  CacheShiftReal(ie17ec, NumPar, params, newResult);
5842  return newResult;
5843  }
5844 }
5845 
5846 
5847 
5848 double THDMcache::ie18(double mass){
5849  int NumPar = 1;
5850  double params[] = {mass};
5851 
5852  int i = CacheCheckReal(ie18c, NumPar, params);
5853  if (i>=0) {
5854  return(ie18c[NumPar][i] );
5855  } else {
5856  double newResult = interpolate (temp18,mass);
5857  CacheShiftReal(ie18c, NumPar, params, newResult);
5858  return newResult;
5859  }
5860 }
5861 
5862 
5863 
5864 double THDMcache::ie18e(double mass){
5865  int NumPar = 1;
5866  double params[] = {mass};
5867 
5868  int i = CacheCheckReal(ie18ec, NumPar, params);
5869  if (i>=0) {
5870  return(ie18ec[NumPar][i] );
5871  } else {
5872  double newResult = interpolate (temp18e,mass);
5873  CacheShiftReal(ie18ec, NumPar, params, newResult);
5874  return newResult;
5875  }
5876 }
5877 
5878 
5879 
5880 double THDMcache::ie19(double mass){
5881  int NumPar = 1;
5882  double params[] = {mass};
5883 
5884  int i = CacheCheckReal(ie19c, NumPar, params);
5885  if (i>=0) {
5886  return(ie19c[NumPar][i] );
5887  } else {
5888  double newResult = interpolate (temp19,mass);
5889  CacheShiftReal(ie19c, NumPar, params, newResult);
5890  return newResult;
5891  }
5892 }
5893 
5894 
5895 
5896 double THDMcache::ie19e(double mass){
5897  int NumPar = 1;
5898  double params[] = {mass};
5899 
5900  int i = CacheCheckReal(ie19ec, NumPar, params);
5901  if (i>=0) {
5902  return(ie19ec[NumPar][i] );
5903  } else {
5904  double newResult = interpolate (temp19e,mass);
5905  CacheShiftReal(ie19ec, NumPar, params, newResult);
5906  return newResult;
5907  }
5908 }
5909 
5910 
5911 
5912 double THDMcache::ie20(double mass){
5913  int NumPar = 1;
5914  double params[] = {mass};
5915 
5916  int i = CacheCheckReal(ie20c, NumPar, params);
5917  if (i>=0) {
5918  return(ie20c[NumPar][i] );
5919  } else {
5920  double newResult = interpolate (temp20,mass);
5921  CacheShiftReal(ie20c, NumPar, params, newResult);
5922  return newResult;
5923  }
5924 }
5925 
5926 
5927 
5928 double THDMcache::ie20e(double mass){
5929  int NumPar = 1;
5930  double params[] = {mass};
5931 
5932  int i = CacheCheckReal(ie20ec, NumPar, params);
5933  if (i>=0) {
5934  return(ie20ec[NumPar][i] );
5935  } else {
5936  double newResult = interpolate (temp20e,mass);
5937  CacheShiftReal(ie20ec, NumPar, params, newResult);
5938  return newResult;
5939  }
5940 }
5941 
5942 
5943 
5944 double THDMcache::ie21(double mass){
5945  int NumPar = 1;
5946  double params[] = {mass};
5947 
5948  int i = CacheCheckReal(ie21c, NumPar, params);
5949  if (i>=0) {
5950  return(ie21c[NumPar][i] );
5951  } else {
5952  double newResult = interpolate (temp21,mass);
5953  CacheShiftReal(ie21c, NumPar, params, newResult);
5954  return newResult;
5955  }
5956 }
5957 
5958 
5959 
5960 double THDMcache::ie21e(double mass){
5961  int NumPar = 1;
5962  double params[] = {mass};
5963 
5964  int i = CacheCheckReal(ie21ec, NumPar, params);
5965  if (i>=0) {
5966  return(ie21ec[NumPar][i] );
5967  } else {
5968  double newResult = interpolate (temp21e,mass);
5969  CacheShiftReal(ie21ec, NumPar, params, newResult);
5970  return newResult;
5971  }
5972 }
5973 
5974 
5975 
5976 double THDMcache::ie22(double mass){
5977  int NumPar = 1;
5978  double params[] = {mass};
5979 
5980  int i = CacheCheckReal(ie22c, NumPar, params);
5981  if (i>=0) {
5982  return(ie22c[NumPar][i] );
5983  } else {
5984  double newResult = interpolate (temp22,mass);
5985  CacheShiftReal(ie22c, NumPar, params, newResult);
5986  return newResult;
5987  }
5988 }
5989 
5990 
5991 
5992 double THDMcache::ie22e(double mass){
5993  int NumPar = 1;
5994  double params[] = {mass};
5995 
5996  int i = CacheCheckReal(ie22ec, NumPar, params);
5997  if (i>=0) {
5998  return(ie22ec[NumPar][i] );
5999  } else {
6000  double newResult = interpolate (temp22e,mass);
6001  CacheShiftReal(ie22ec, NumPar, params, newResult);
6002  return newResult;
6003  }
6004 }
6005 
6006 
6007 
6008 double THDMcache::ie23(double mass){
6009  int NumPar = 1;
6010  double params[] = {mass};
6011 
6012  int i = CacheCheckReal(ie23c, NumPar, params);
6013  if (i>=0) {
6014  return(ie23c[NumPar][i] );
6015  } else {
6016  double newResult = interpolate (temp23,mass);
6017  CacheShiftReal(ie23c, NumPar, params, newResult);
6018  return newResult;
6019  }
6020 }
6021 
6022 
6023 
6024 double THDMcache::ie23e(double mass){
6025  int NumPar = 1;
6026  double params[] = {mass};
6027 
6028  int i = CacheCheckReal(ie23ec, NumPar, params);
6029  if (i>=0) {
6030  return(ie23ec[NumPar][i] );
6031  } else {
6032  double newResult = interpolate (temp23e,mass);
6033  CacheShiftReal(ie23ec, NumPar, params, newResult);
6034  return newResult;
6035  }
6036 }
6037 
6038 
6039 
6040 double THDMcache::ie24(double mass){
6041  int NumPar = 1;
6042  double params[] = {mass};
6043 
6044  int i = CacheCheckReal(ie24c, NumPar, params);
6045  if (i>=0) {
6046  return(ie24c[NumPar][i] );
6047  } else {
6048  double newResult = interpolate (temp24,mass);
6049  CacheShiftReal(ie24c, NumPar, params, newResult);
6050  return newResult;
6051  }
6052 }
6053 
6054 
6055 
6056 double THDMcache::ie24e(double mass){
6057  int NumPar = 1;
6058  double params[] = {mass};
6059 
6060  int i = CacheCheckReal(ie24ec, NumPar, params);
6061  if (i>=0) {
6062  return(ie24ec[NumPar][i] );
6063  } else {
6064  double newResult = interpolate (temp24e,mass);
6065  CacheShiftReal(ie24ec, NumPar, params, newResult);
6066  return newResult;
6067  }
6068 }
6069 
6070 
6071 
6072 double THDMcache::ie25(double mass){
6073  int NumPar = 1;
6074  double params[] = {mass};
6075 
6076  int i = CacheCheckReal(ie25c, NumPar, params);
6077  if (i>=0) {
6078  return(ie25c[NumPar][i] );
6079  } else {
6080  double newResult = interpolate (temp25,mass);
6081  CacheShiftReal(ie25c, NumPar, params, newResult);
6082  return newResult;
6083  }
6084 }
6085 
6086 
6087 
6088 double THDMcache::ie25e(double mass){
6089  int NumPar = 1;
6090  double params[] = {mass};
6091 
6092  int i = CacheCheckReal(ie25ec, NumPar, params);
6093  if (i>=0) {
6094  return(ie25ec[NumPar][i] );
6095  } else {
6096  double newResult = interpolate (temp25e,mass);
6097  CacheShiftReal(ie25ec, NumPar, params, newResult);
6098  return newResult;
6099  }
6100 }
6101 
6102 
6103 
6104 double THDMcache::ie26(double mass){
6105  int NumPar = 1;
6106  double params[] = {mass};
6107 
6108  int i = CacheCheckReal(ie26c, NumPar, params);
6109  if (i>=0) {
6110  return(ie26c[NumPar][i] );
6111  } else {
6112  double newResult = interpolate (temp26,mass);
6113  CacheShiftReal(ie26c, NumPar, params, newResult);
6114  return newResult;
6115  }
6116 }
6117 
6118 
6119 
6120 double THDMcache::ie26e(double mass){
6121  int NumPar = 1;
6122  double params[] = {mass};
6123 
6124  int i = CacheCheckReal(ie26ec, NumPar, params);
6125  if (i>=0) {
6126  return(ie26ec[NumPar][i] );
6127  } else {
6128  double newResult = interpolate (temp26e,mass);
6129  CacheShiftReal(ie26ec, NumPar, params, newResult);
6130  return newResult;
6131  }
6132 }
6133 
6134 
6135 
6136 double THDMcache::ie27(double mass){
6137  int NumPar = 1;
6138  double params[] = {mass};
6139 
6140  int i = CacheCheckReal(ie27c, NumPar, params);
6141  if (i>=0) {
6142  return(ie27c[NumPar][i] );
6143  } else {
6144  double newResult = interpolate (temp27,mass);
6145  CacheShiftReal(ie27c, NumPar, params, newResult);
6146  return newResult;
6147  }
6148 }
6149 
6150 
6151 
6152 double THDMcache::ie27e(double mass){
6153  int NumPar = 1;
6154  double params[] = {mass};
6155 
6156  int i = CacheCheckReal(ie27ec, NumPar, params);
6157  if (i>=0) {
6158  return(ie27ec[NumPar][i] );
6159  } else {
6160  double newResult = interpolate (temp27e,mass);
6161  CacheShiftReal(ie27ec, NumPar, params, newResult);
6162  return newResult;
6163  }
6164 }
6165 
6166 
6167 
6168 double THDMcache::ie28(double mass){
6169  int NumPar = 1;
6170  double params[] = {mass};
6171 
6172  int i = CacheCheckReal(ie28c, NumPar, params);
6173  if (i>=0) {
6174  return(ie28c[NumPar][i] );
6175  } else {
6176  double newResult = interpolate (temp28,mass);
6177  CacheShiftReal(ie28c, NumPar, params, newResult);
6178  return newResult;
6179  }
6180 }
6181 
6182 
6183 
6184 double THDMcache::ie28e(double mass){
6185  int NumPar = 1;
6186  double params[] = {mass};
6187 
6188  int i = CacheCheckReal(ie28ec, NumPar, params);
6189  if (i>=0) {
6190  return(ie28ec[NumPar][i] );
6191  } else {
6192  double newResult = interpolate (temp28e,mass);
6193  CacheShiftReal(ie28ec, NumPar, params, newResult);
6194  return newResult;
6195  }
6196 }
6197 
6198 
6199 
6200 double THDMcache::ie29(double mass){
6201  int NumPar = 1;
6202  double params[] = {mass};
6203 
6204  int i = CacheCheckReal(ie29c, NumPar, params);
6205  if (i>=0) {
6206  return(ie29c[NumPar][i] );
6207  } else {
6208  double newResult = interpolate (temp29,mass);
6209  CacheShiftReal(ie29c, NumPar, params, newResult);
6210  return newResult;
6211  }
6212 }
6213 
6214 
6215 
6216 double THDMcache::ie29e(double mass){
6217  int NumPar = 1;
6218  double params[] = {mass};
6219 
6220  int i = CacheCheckReal(ie29ec, NumPar, params);
6221  if (i>=0) {
6222  return(ie29ec[NumPar][i] );
6223  } else {
6224  double newResult = interpolate (temp29e,mass);
6225  CacheShiftReal(ie29ec, NumPar, params, newResult);
6226  return newResult;
6227  }
6228 }
6229 
6230 
6231 
6232 double THDMcache::ie30(double mass){
6233  int NumPar = 1;
6234  double params[] = {mass};
6235 
6236  int i = CacheCheckReal(ie30c, NumPar, params);
6237  if (i>=0) {
6238  return(ie30c[NumPar][i] );
6239  } else {
6240  double newResult = interpolate (temp30,mass);
6241  CacheShiftReal(ie30c, NumPar, params, newResult);
6242  return newResult;
6243  }
6244 }
6245 
6246 
6247 
6248 double THDMcache::ie30e(double mass){
6249  int NumPar = 1;
6250  double params[] = {mass};
6251 
6252  int i = CacheCheckReal(ie30ec, NumPar, params);
6253  if (i>=0) {
6254  return(ie30ec[NumPar][i] );
6255  } else {
6256  double newResult = interpolate (temp30e,mass);
6257  CacheShiftReal(ie30ec, NumPar, params, newResult);
6258  return newResult;
6259  }
6260 }
6261 
6262 
6263 
6264 double THDMcache::ie31(double mass){
6265  int NumPar = 1;
6266  double params[] = {mass};
6267 
6268  int i = CacheCheckReal(ie31c, NumPar, params);
6269  if (i>=0) {
6270  return(ie31c[NumPar][i] );
6271  } else {
6272  double newResult = interpolate (temp31,mass);
6273  CacheShiftReal(ie31c, NumPar, params, newResult);
6274  return newResult;
6275  }
6276 }
6277 
6278 
6279 
6280 double THDMcache::ie31e(double mass){
6281  int NumPar = 1;
6282  double params[] = {mass};
6283 
6284  int i = CacheCheckReal(ie31ec, NumPar, params);
6285  if (i>=0) {
6286  return(ie31ec[NumPar][i] );
6287  } else {
6288  double newResult = interpolate (temp31e,mass);
6289  CacheShiftReal(ie31ec, NumPar, params, newResult);
6290  return newResult;
6291  }
6292 }
6293 
6294 
6295 
6296 double THDMcache::ie32(double mass){
6297  int NumPar = 1;
6298  double params[] = {mass};
6299 
6300  int i = CacheCheckReal(ie32c, NumPar, params);
6301  if (i>=0) {
6302  return(ie32c[NumPar][i] );
6303  } else {
6304  double newResult = interpolate (temp32,mass);
6305  CacheShiftReal(ie32c, NumPar, params, newResult);
6306  return newResult;
6307  }
6308 }
6309 
6310 
6311 
6312 double THDMcache::ie32e(double mass){
6313  int NumPar = 1;
6314  double params[] = {mass};
6315 
6316  int i = CacheCheckReal(ie32ec, NumPar, params);
6317  if (i>=0) {
6318  return(ie32ec[NumPar][i] );
6319  } else {
6320  double newResult = interpolate (temp32e,mass);
6321  CacheShiftReal(ie32ec, NumPar, params, newResult);
6322  return newResult;
6323  }
6324 }
6325 
6326 
6327 
6328 double THDMcache::ie33(double mass){
6329  int NumPar = 1;
6330  double params[] = {mass};
6331 
6332  int i = CacheCheckReal(ie33c, NumPar, params);
6333  if (i>=0) {
6334  return(ie33c[NumPar][i] );
6335  } else {
6336  double newResult = interpolate (temp33,mass);
6337  CacheShiftReal(ie33c, NumPar, params, newResult);
6338  return newResult;
6339  }
6340 }
6341 
6342 
6343 
6344 double THDMcache::ie33e(double mass){
6345  int NumPar = 1;
6346  double params[] = {mass};
6347 
6348  int i = CacheCheckReal(ie33ec, NumPar, params);
6349  if (i>=0) {
6350  return(ie33ec[NumPar][i] );
6351  } else {
6352  double newResult = interpolate (temp33e,mass);
6353  CacheShiftReal(ie33ec, NumPar, params, newResult);
6354  return newResult;
6355  }
6356 }
6357 
6358 
6359 
6360 double THDMcache::ie34(double mass){
6361  int NumPar = 1;
6362  double params[] = {mass};
6363 
6364  int i = CacheCheckReal(ie34c, NumPar, params);
6365  if (i>=0) {
6366  return(ie34c[NumPar][i] );
6367  } else {
6368  double newResult = interpolate (temp34,mass);
6369  CacheShiftReal(ie34c, NumPar, params, newResult);
6370  return newResult;
6371  }
6372 }
6373 
6374 
6375 
6376 double THDMcache::ie34e(double mass){
6377  int NumPar = 1;
6378  double params[] = {mass};
6379 
6380  int i = CacheCheckReal(ie34ec, NumPar, params);
6381  if (i>=0) {
6382  return(ie34ec[NumPar][i] );
6383  } else {
6384  double newResult = interpolate (temp34e,mass);
6385  CacheShiftReal(ie34ec, NumPar, params, newResult);
6386  return newResult;
6387  }
6388 }
6389 
6390 
6391 
6392 double THDMcache::ie35(double mass){
6393  int NumPar = 1;
6394  double params[] = {mass};
6395 
6396  int i = CacheCheckReal(ie35c, NumPar, params);
6397  if (i>=0) {
6398  return(ie35c[NumPar][i] );
6399  } else {
6400  double newResult = interpolate (temp35,mass);
6401  CacheShiftReal(ie35c, NumPar, params, newResult);
6402  return newResult;
6403  }
6404 }
6405 
6406 
6407 
6408 double THDMcache::ie35e(double mass){
6409  int NumPar = 1;
6410  double params[] = {mass};
6411 
6412  int i = CacheCheckReal(ie35ec, NumPar, params);
6413  if (i>=0) {
6414  return(ie35ec[NumPar][i] );
6415  } else {
6416  double newResult = interpolate (temp35e,mass);
6417  CacheShiftReal(ie35ec, NumPar, params, newResult);
6418  return newResult;
6419  }
6420 }
6421 
6422 
6423 
6424 double THDMcache::ie36(double mass){
6425  int NumPar = 1;
6426  double params[] = {mass};
6427 
6428  int i = CacheCheckReal(ie36c, NumPar, params);
6429  if (i>=0) {
6430  return(ie36c[NumPar][i] );
6431  } else {
6432  double newResult = interpolate (temp36,mass);
6433  CacheShiftReal(ie36c, NumPar, params, newResult);
6434  return newResult;
6435  }
6436 }
6437 
6438 
6439 
6440 double THDMcache::ie36e(double mass){
6441  int NumPar = 1;
6442  double params[] = {mass};
6443 
6444  int i = CacheCheckReal(ie36ec, NumPar, params);
6445  if (i>=0) {
6446  return(ie36ec[NumPar][i] );
6447  } else {
6448  double newResult = interpolate (temp36e,mass);
6449  CacheShiftReal(ie36ec, NumPar, params, newResult);
6450  return newResult;
6451  }
6452 }
6453 
6454 
6455 
6456 double THDMcache::ie37(double mass){
6457  int NumPar = 1;
6458  double params[] = {mass};
6459 
6460  int i = CacheCheckReal(ie37c, NumPar, params);
6461  if (i>=0) {
6462  return(ie37c[NumPar][i] );
6463  } else {
6464  double newResult = interpolate (temp37,mass);
6465  CacheShiftReal(ie37c, NumPar, params, newResult);
6466  return newResult;
6467  }
6468 }
6469 
6470 
6471 
6472 double THDMcache::ie37e(double mass){
6473  int NumPar = 1;
6474  double params[] = {mass};
6475 
6476  int i = CacheCheckReal(ie37ec, NumPar, params);
6477  if (i>=0) {
6478  return(ie37ec[NumPar][i] );
6479  } else {
6480  double newResult = interpolate (temp37e,mass);
6481  CacheShiftReal(ie37ec, NumPar, params, newResult);
6482  return newResult;
6483  }
6484 }
6485 
6486 
6487 
6488 double THDMcache::ie38(double mass){
6489  int NumPar = 1;
6490  double params[] = {mass};
6491 
6492  int i = CacheCheckReal(ie38c, NumPar, params);
6493  if (i>=0) {
6494  return(ie38c[NumPar][i] );
6495  } else {
6496  double newResult = interpolate (temp38,mass);
6497  CacheShiftReal(ie38c, NumPar, params, newResult);
6498  return newResult;
6499  }
6500 }
6501 
6502 
6503 
6504 double THDMcache::ie38e(double mass){
6505  int NumPar = 1;
6506  double params[] = {mass};
6507 
6508  int i = CacheCheckReal(ie38ec, NumPar, params);
6509  if (i>=0) {
6510  return(ie38ec[NumPar][i] );
6511  } else {
6512  double newResult = interpolate (temp38e,mass);
6513  CacheShiftReal(ie38ec, NumPar, params, newResult);
6514  return newResult;
6515  }
6516 }
6517 
6518 
6519 
6520 double THDMcache::ie39(double mass){
6521  int NumPar = 1;
6522  double params[] = {mass};
6523 
6524  int i = CacheCheckReal(ie39c, NumPar, params);
6525  if (i>=0) {
6526  return(ie39c[NumPar][i] );
6527  } else {
6528  double newResult = interpolate (temp39,mass);
6529  CacheShiftReal(ie39c, NumPar, params, newResult);
6530  return newResult;
6531  }
6532 }
6533 
6534 
6535 
6536 double THDMcache::ie39e(double mass){
6537  int NumPar = 1;
6538  double params[] = {mass};
6539 
6540  int i = CacheCheckReal(ie39ec, NumPar, params);
6541  if (i>=0) {
6542  return(ie39ec[NumPar][i] );
6543  } else {
6544  double newResult = interpolate (temp39e,mass);
6545  CacheShiftReal(ie39ec, NumPar, params, newResult);
6546  return newResult;
6547  }
6548 }
6549 
6550 
6551 
6552 double THDMcache::ie40(double mass){
6553  int NumPar = 1;
6554  double params[] = {mass};
6555 
6556  int i = CacheCheckReal(ie40c, NumPar, params);
6557  if (i>=0) {
6558  return(ie40c[NumPar][i] );
6559  } else {
6560  double newResult = interpolate (temp40,mass);
6561  CacheShiftReal(ie40c, NumPar, params, newResult);
6562  return newResult;
6563  }
6564 }
6565 
6566 
6567 
6568 double THDMcache::ie40e(double mass){
6569  int NumPar = 1;
6570  double params[] = {mass};
6571 
6572  int i = CacheCheckReal(ie40ec, NumPar, params);
6573  if (i>=0) {
6574  return(ie40ec[NumPar][i] );
6575  } else {
6576  double newResult = interpolate (temp40e,mass);
6577  CacheShiftReal(ie40ec, NumPar, params, newResult);
6578  return newResult;
6579  }
6580 }
6581 
6582 
6583 
6585  int NumPar = 1;
6586  double params[] = {mass};
6587 
6588  int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_ATLAS8_cache, NumPar, params);
6589  if (i>=0) {
6590  return(ip_ex_pp_Hpm_taunu_ATLAS8_cache[NumPar][i] );
6591  } else {
6592  double newResult = interpolate (ATLAS8_pp_Hpm_taunu,mass);
6593  CacheShiftReal(ip_ex_pp_Hpm_taunu_ATLAS8_cache, NumPar, params, newResult);
6594  return newResult;
6595  }
6596 }
6597 
6598 
6599 
6601  int NumPar = 1;
6602  double params[] = {mass};
6603 
6604  int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_ATLAS8_cache_e, NumPar, params);
6605  if (i>=0) {
6606  return(ip_ex_pp_Hpm_taunu_ATLAS8_cache_e[NumPar][i] );
6607  } else {
6608  double newResult = interpolate (ATLAS8_pp_Hpm_taunu_e,mass);
6609  CacheShiftReal(ip_ex_pp_Hpm_taunu_ATLAS8_cache_e, NumPar, params, newResult);
6610  return newResult;
6611  }
6612 }
6613 
6614 
6615 
6617  int NumPar = 1;
6618  double params[] = {mass};
6619 
6620  int i = CacheCheckReal(ip_ex_pp_Hp_taunu_CMS8_cache, NumPar, params);
6621  if (i>=0) {
6622  return(ip_ex_pp_Hp_taunu_CMS8_cache[NumPar][i] );
6623  } else {
6624  double newResult = interpolate (CMS8_pp_Hp_taunu,mass);
6625  CacheShiftReal(ip_ex_pp_Hp_taunu_CMS8_cache, NumPar, params, newResult);
6626  return newResult;
6627  }
6628 }
6629 
6630 
6631 
6633  int NumPar = 1;
6634  double params[] = {mass};
6635 
6636  int i = CacheCheckReal(ip_ex_pp_Hp_taunu_CMS8_cache_e, NumPar, params);
6637  if (i>=0) {
6638  return(ip_ex_pp_Hp_taunu_CMS8_cache_e[NumPar][i] );
6639  } else {
6640  double newResult = interpolate (CMS8_pp_Hp_taunu_e,mass);
6641  CacheShiftReal(ip_ex_pp_Hp_taunu_CMS8_cache_e, NumPar, params, newResult);
6642  return newResult;
6643  }
6644 }
6645 
6646 
6647 
6649  int NumPar = 1;
6650  double params[] = {mass};
6651 
6652  int i = CacheCheckReal(ip_ex_pp_Hpm_tb_ATLAS8_cache, NumPar, params);
6653  if (i>=0) {
6654  return(ip_ex_pp_Hpm_tb_ATLAS8_cache[NumPar][i] );
6655  } else {
6656  double newResult = interpolate (ATLAS8_pp_Hpm_tb,mass);
6657  CacheShiftReal(ip_ex_pp_Hpm_tb_ATLAS8_cache, NumPar, params, newResult);
6658  return newResult;
6659  }
6660 }
6661 
6662 
6663 
6665  int NumPar = 1;
6666  double params[] = {mass};
6667 
6668  int i = CacheCheckReal(ip_ex_pp_Hpm_tb_ATLAS8_cache_e, NumPar, params);
6669  if (i>=0) {
6670  return(ip_ex_pp_Hpm_tb_ATLAS8_cache_e[NumPar][i] );
6671  } else {
6672  double newResult = interpolate (ATLAS8_pp_Hpm_tb_e,mass);
6673  CacheShiftReal(ip_ex_pp_Hpm_tb_ATLAS8_cache_e, NumPar, params, newResult);
6674  return newResult;
6675  }
6676 }
6677 
6678 
6679 
6681  int NumPar = 1;
6682  double params[] = {mass};
6683 
6684  int i = CacheCheckReal(ip_ex_pp_Hp_tb_CMS8_cache, NumPar, params);
6685  if (i>=0) {
6686  return(ip_ex_pp_Hp_tb_CMS8_cache[NumPar][i] );
6687  } else {
6688  double newResult = interpolate (CMS8_pp_Hp_tb,mass);
6689  CacheShiftReal(ip_ex_pp_Hp_tb_CMS8_cache, NumPar, params, newResult);
6690  return newResult;
6691  }
6692 }
6693 
6694 
6695 
6697  int NumPar = 1;
6698  double params[] = {mass};
6699 
6700  int i = CacheCheckReal(ip_ex_pp_Hp_tb_CMS8_cache_e, NumPar, params);
6701  if (i>=0) {
6702  return(ip_ex_pp_Hp_tb_CMS8_cache_e[NumPar][i] );
6703  } else {
6704  double newResult = interpolate (CMS8_pp_Hp_tb_e,mass);
6705  CacheShiftReal(ip_ex_pp_Hp_tb_CMS8_cache_e, NumPar, params, newResult);
6706  return newResult;
6707  }
6708 }
6709 
6710 
6711 
6713  int NumPar = 1;
6714  double params[] = {mass};
6715 
6716  int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_ATLAS13_cache, NumPar, params);
6717  if (i>=0) {
6718  return(ip_ex_pp_Hpm_taunu_ATLAS13_cache[NumPar][i] );
6719  } else {
6720  double newResult = interpolate (ATLAS13_pp_Hpm_taunu,mass);
6721  CacheShiftReal(ip_ex_pp_Hpm_taunu_ATLAS13_cache, NumPar, params, newResult);
6722  return newResult;
6723  }
6724 }
6725 
6726 
6727 
6729  int NumPar = 1;
6730  double params[] = {mass};
6731 
6732  int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_ATLAS13_cache_e, NumPar, params);
6733  if (i>=0) {
6734  return(ip_ex_pp_Hpm_taunu_ATLAS13_cache_e[NumPar][i] );
6735  } else {
6736  double newResult = interpolate (ATLAS13_pp_Hpm_taunu_e,mass);
6737  CacheShiftReal(ip_ex_pp_Hpm_taunu_ATLAS13_cache_e, NumPar, params, newResult);
6738  return newResult;
6739  }
6740 }
6741 
6742 
6743 
6745  int NumPar = 1;
6746  double params[] = {mass};
6747 
6748  int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_CMS13_cache, NumPar, params);
6749  if (i>=0) {
6750  return(ip_ex_pp_Hpm_taunu_CMS13_cache[NumPar][i] );
6751  } else {
6752  double newResult = interpolate (CMS13_pp_Hpm_taunu,mass);
6753  CacheShiftReal(ip_ex_pp_Hpm_taunu_CMS13_cache, NumPar, params, newResult);
6754  return newResult;
6755  }
6756 }
6757 
6758 
6759 
6761  int NumPar = 1;
6762  double params[] = {mass};
6763 
6764  int i = CacheCheckReal(ip_ex_pp_Hpm_taunu_CMS13_cache_e, NumPar, params);
6765  if (i>=0) {
6766  return(ip_ex_pp_Hpm_taunu_CMS13_cache_e[NumPar][i] );
6767  } else {
6768  double newResult = interpolate (CMS13_pp_Hpm_taunu_e,mass);
6769  CacheShiftReal(ip_ex_pp_Hpm_taunu_CMS13_cache_e, NumPar, params, newResult);
6770  return newResult;
6771  }
6772 }
6773 
6774 
6775 
6777  int NumPar = 1;
6778  double params[] = {mass};
6779 
6780  int i = CacheCheckReal(ip_ex_pp_Hp_tb_ATLAS13_1_cache, NumPar, params);
6781  if (i>=0) {
6782  return(ip_ex_pp_Hp_tb_ATLAS13_1_cache[NumPar][i] );
6783  } else {
6784  double newResult = interpolate (ATLAS13_pp_Hp_tb1,mass);
6785  CacheShiftReal(ip_ex_pp_Hp_tb_ATLAS13_1_cache, NumPar, params, newResult);
6786  return newResult;
6787  }
6788 }
6789 
6790 
6791 
6793  int NumPar = 1;
6794  double params[] = {mass};
6795 
6796  int i = CacheCheckReal(ip_ex_pp_Hp_tb_ATLAS13_1_cache_e, NumPar, params);
6797  if (i>=0) {
6798  return(ip_ex_pp_Hp_tb_ATLAS13_1_cache_e[NumPar][i] );
6799  } else {
6800  double newResult = interpolate (ATLAS13_pp_Hp_tb1_e,mass);
6801  CacheShiftReal(ip_ex_pp_Hp_tb_ATLAS13_1_cache_e, NumPar, params, newResult);
6802  return newResult;
6803  }
6804 }
6805 
6806 
6807 
6809  int NumPar = 1;
6810  double params[] = {mass};
6811 
6812  int i = CacheCheckReal(ip_ex_pp_Hp_tb_ATLAS13_2_cache, NumPar, params);
6813  if (i>=0) {
6814  return(ip_ex_pp_Hp_tb_ATLAS13_2_cache[NumPar][i] );
6815  } else {
6816  double newResult = interpolate (ATLAS13_pp_Hp_tb2,mass);
6817  CacheShiftReal(ip_ex_pp_Hp_tb_ATLAS13_2_cache, NumPar, params, newResult);
6818  return newResult;
6819  }
6820 }
6821 
6822 
6823 
6825  int NumPar = 1;
6826  double params[] = {mass};
6827 
6828  int i = CacheCheckReal(ip_ex_pp_Hp_tb_ATLAS13_2_cache_e, NumPar, params);
6829  if (i>=0) {
6830  return(ip_ex_pp_Hp_tb_ATLAS13_2_cache_e[NumPar][i] );
6831  } else {
6832  double newResult = interpolate (ATLAS13_pp_Hp_tb2_e,mass);
6833  CacheShiftReal(ip_ex_pp_Hp_tb_ATLAS13_2_cache_e, NumPar, params, newResult);
6834  return newResult;
6835  }
6836 }
6837 
6838 
6839 
6840 double THDMcache::ip_ex_bsgamma(double logtb, double logmHp){
6841  int NumPar = 2;
6842  double params[] = {logtb, logmHp};
6843 
6844  int i = CacheCheckReal(ip_ex_bsgamma_cache, NumPar, params);
6845  if (i>=0) {
6846  return ( ip_ex_bsgamma_cache[NumPar][i] );
6847  } else {
6848  double newResult = interpolate2D(arraybsgamma, logtb, logmHp);
6849  CacheShiftReal(ip_ex_bsgamma_cache, NumPar, params, newResult);
6850  return newResult;
6851  }
6852 }
6853 
6854 
6855 
6856 gslpp::matrix<double> THDMcache::readTable(std::string filename, int rowN, int colN){
6857 
6858  std::ifstream INfile;
6859  std::string lineTab;
6860  INfile.open( filename.c_str() );
6861  if(INfile.fail()){
6862  std::cout<<"error: in THDMcache, table doesn't exist!"<<std::endl;
6863  }
6864 
6865  gslpp::matrix<double> arrayTab(rowN, colN, 0.);
6866  int a =0;
6867  int b=0;
6868  double v;
6869 
6870  while(INfile.good()){
6871  while(getline(INfile, lineTab)){
6872  if( lineTab[0]=='#' )continue;
6873  else{
6874  std::istringstream streamTab(lineTab);
6875  b=0;
6876  while(streamTab >>v){
6877  arrayTab.assign(a,b,v);
6878  b++;
6879  }
6880  a++;
6881  }
6882  }
6883  }
6884 
6885  INfile.close();
6886 
6887  return arrayTab;
6888 }
6889 
6890 //1D interpolation
6891 
6893 
6894  int rowN=arrayTab.size_i();
6895 
6896  double xmin = arrayTab(0,0);
6897  double xmax = arrayTab(rowN-1,0);
6898  double interval = arrayTab(1,0)-arrayTab(0,0);
6899  int Nintervals = (x-xmin)/interval;
6900  double y = 0.0;
6901 
6902  if(x<xmin){
6903 // std::cout<<"warning: your table parameter value is smaller than the minimum allowed value"<<std::endl;
6904  return 0.;
6905  }
6906  else if(x>xmax){
6907 // std::cout<<"warning: your table parameter value is greater than the maximum allowed value"<<std::endl;
6908  return 0.;
6909  }
6910  else{
6911  y =(arrayTab(Nintervals+1,1)-arrayTab(Nintervals,1))/(arrayTab(Nintervals+1,0)
6912  -arrayTab(Nintervals,0))*(x-arrayTab(Nintervals,0))+arrayTab(Nintervals,1);
6913  return y;
6914  }
6915 }
6916 
6917 //2D interpolation
6918 
6919 double THDMcache::interpolate2D(gslpp::matrix<double> arrayTab, double x, double y){
6920 
6921  int rowN=arrayTab.size_i();
6922 
6923  double xmin = arrayTab(0,0);
6924  double xmax = arrayTab(rowN-1,0);
6925  double ymin = arrayTab(0,1);
6926  double ymax = arrayTab(rowN-1,1);
6927  double intervalx = arrayTab(1,0)-arrayTab(0,0);
6928  int i=1;
6929  do i++;
6930  while(arrayTab(i,1)-arrayTab(i-1,1)==0&&i<30000);
6931  double intervaly = arrayTab(i,1)-arrayTab(i-1,1);
6932  int Nintervalsx = (x-xmin)/intervalx;
6933  int Nintervalsy = (y-ymin)/intervaly;
6934  if(x<xmin||x>xmax||y<ymin||y>ymax){
6935 // std::cout<<"warning: the parameter point lies outside the table"<<std::endl;
6936  return 0.;
6937  }
6938  else{
6939  double x1=arrayTab(i*Nintervalsy+Nintervalsx,0);
6940  double x2=arrayTab(i*Nintervalsy+Nintervalsx+1,0);
6941  double y1=arrayTab(i*Nintervalsy+Nintervalsx,1);
6942  double y2=arrayTab(i*(Nintervalsy+1)+Nintervalsx,1);
6943  return (arrayTab(i*Nintervalsy+Nintervalsx,2) * (x2-x) * (y2-y)
6944  +arrayTab(i*Nintervalsy+Nintervalsx+1,2) * (x-x1) * (y2-y)
6945  +arrayTab(i*(Nintervalsy+1)+Nintervalsx,2) * (x2-x) * (y-y1)
6946  +arrayTab(i*(Nintervalsy+1)+Nintervalsx+1,2) * (x-x1) * (y-y1))
6947  /((x2-x1)*(y2-y1));
6948  }
6949 }
6950 
6951 double THDMcache::ghHpHm(const double mHp2, const double tanb, const double m12_2, const double bma, const double mHl2, const double vev) const {
6952  int NumPar = 6;
6953  double params[] = {mHp2, tanb, m12_2, bma, mHl2, vev};
6954 
6955  int i = CacheCheckReal(ghHpHm_cache, NumPar, params);
6956  if (i>=0) {
6957  return ( ghHpHm_cache[NumPar][i] );
6958  } else {
6959  double newResult = ((cos(bma)*mHl2*(tanb*tanb-1.0))/tanb
6960  -(mHl2+2.0*mHp2)*sin(bma)
6961  +(m12_2*(cos(bma)*(1.0-tanb*tanb)+2.0*sin(bma)*tanb)*(1.0+tanb*tanb))/(tanb*tanb))/vev;
6962  CacheShiftReal(ghHpHm_cache, NumPar, params, newResult);
6963  return newResult;
6964  }
6965 }
6966 
6967 double THDMcache::g_HH_HpHm(const double mHp2, const double mHh2, const double tanb, const double m12_2, const double bma, const double vev) const {
6968  int NumPar = 6;
6969  double params[] = {mHp2, mHh2, tanb, m12_2, bma, vev};
6970 
6971  int i = CacheCheckReal(g_HH_HpHm_cache, NumPar, params);
6972  if (i>=0) {
6973  return ( g_HH_HpHm_cache[NumPar][i] );
6974  } else {
6975  double newResult = (cos(bma)*(mHh2-2.0*mHp2)
6977  *(2.0*cos(bma)*tanb+sin(bma)*(tanb*tanb-1.0)))/(tanb*tanb))/vev;
6978  CacheShiftReal(g_HH_HpHm_cache, NumPar, params, newResult);
6979  return newResult;
6980  }
6981 }
6982 
6983 gslpp::complex THDMcache::I_h_U(const double mHl2, const double Mu, const double Mc, const double Mt) const {
6984  int NumPar = 4;
6985  double params[] = {mHl2, Mu, Mc, Mt};
6986 
6987  int i = CacheCheck(I_h_U_cache, NumPar, params);
6988  if (i>=0) {
6989  return ( I_h_U_cache[NumPar][i] );
6990  } else {
6991  double TAUu=4.0*Mu*Mu/mHl2;
6992  double TAUc=4.0*Mc*Mc/mHl2;
6993  double TAUt=4.0*Mt*Mt/mHl2;
6994  gslpp::complex newResult = -(8./3.)*(TAUu*(1.0+(1.0-TAUu)*f_func(TAUu))
6995  +TAUc*(1.0+(1.0-TAUc)*f_func(TAUc))+TAUt*(1.0+(1.0-TAUt)*f_func(TAUt)));
6996  CacheShift(I_h_U_cache, NumPar, params, newResult);
6997  return newResult;
6998  }
6999 }
7000 
7001 gslpp::complex THDMcache::I_HH_U(const double mHh2, const double Mc, const double Mt) const {
7002  int NumPar = 3;
7003  double params[] = {mHh2, Mc, Mt};
7004 
7005  int i = CacheCheck(I_HH_U_cache, NumPar, params);
7006  if (i>=0) {
7007  return ( I_HH_U_cache[NumPar][i] );
7008  } else {
7009  double TAUc=4.0*Mc*Mc/mHh2;
7010  double TAUt=4.0*Mt*Mt/mHh2;
7011  gslpp::complex newResult = -(8./3.)*(TAUc*(1.0+(1.0-TAUc)*f_func(TAUc))
7012  +TAUt*(1.0+(1.0-TAUt)*f_func(TAUt)));
7013  CacheShift(I_HH_U_cache, NumPar, params, newResult);
7014  return newResult;
7015  }
7016 }
7017 
7018 gslpp::complex THDMcache::I_A_U(const double mA2, const double Mc, const double Mt) const {
7019  int NumPar = 3;
7020  double params[] = {mA2, Mc, Mt};
7021 
7022  int i = CacheCheck(I_A_U_cache, NumPar, params);
7023  if (i>=0) {
7024  return ( I_A_U_cache[NumPar][i] );
7025  } else {
7026  double TAUc=4.0*Mc*Mc/mA2;
7027  double TAUt=4.0*Mt*Mt/mA2;
7028  gslpp::complex newResult = -(8./3.)*(TAUc*f_func(TAUc)+TAUt*f_func(TAUt));
7029  CacheShift(I_A_U_cache, NumPar, params, newResult);
7030  return newResult;
7031  }
7032 }
7033 
7034 gslpp::complex THDMcache::I_h_D(const double mHl2, const double Md, const double Ms, const double Mb) const {
7035  int NumPar = 4;
7036  double params[] = {mHl2, Md, Ms, Mb};
7037 
7038  int i = CacheCheck(I_h_D_cache, NumPar, params);
7039  if (i>=0) {
7040  return ( I_h_D_cache[NumPar][i] );
7041  } else {
7042  double TAUd=4.0*Md*Md/mHl2;
7043  double TAUs=4.0*Ms*Ms/mHl2;
7044  double TAUb=4.0*Mb*Mb/mHl2;
7045  gslpp::complex newResult = -(2./3.)*(TAUd*(1.0+(1.0-TAUd)*f_func(TAUd))
7046  +TAUs*(1.0+(1.0-TAUs)*f_func(TAUs))+TAUb*(1.0+(1.0-TAUb)*f_func(TAUb)));
7047  CacheShift(I_h_D_cache, NumPar, params, newResult);
7048  return newResult;
7049  }
7050 }
7051 
7052 gslpp::complex THDMcache::I_HH_D(const double mHh2, const double Ms, const double Mb) const {
7053  int NumPar = 3;
7054  double params[] = {mHh2, Ms, Mb};
7055 
7056  int i = CacheCheck(I_HH_D_cache, NumPar, params);
7057  if (i>=0) {
7058  return ( I_HH_D_cache[NumPar][i] );
7059  } else {
7060  double TAUs=4.0*Ms*Ms/mHh2;
7061  double TAUb=4.0*Mb*Mb/mHh2;
7062  gslpp::complex newResult = -(2./3.)*(TAUs*(1.0+(1.0-TAUs)*f_func(TAUs))
7063  +TAUb*(1.0+(1.0-TAUb)*f_func(TAUb)));
7064  CacheShift(I_HH_D_cache, NumPar, params, newResult);
7065  return newResult;
7066  }
7067 }
7068 
7069 gslpp::complex THDMcache::I_A_D(const double mA2, const double Ms, const double Mb) const {
7070  int NumPar = 3;
7071  double params[] = {mA2, Ms, Mb};
7072 
7073  int i = CacheCheck(I_A_D_cache, NumPar, params);
7074  if (i>=0) {
7075  return ( I_A_D_cache[NumPar][i] );
7076  } else {
7077  double TAUs=4.0*Ms*Ms/mA2;
7078  double TAUb=4.0*Mb*Mb/mA2;
7079  gslpp::complex newResult = -(2./3.)*(TAUs*f_func(TAUs)+TAUb*f_func(TAUb));
7080  CacheShift(I_A_D_cache, NumPar, params, newResult);
7081  return newResult;
7082  }
7083 }
7084 
7085 gslpp::complex THDMcache::I_h_L(const double mHl2, const double Me, const double Mmu, const double Mtau) const {
7086  int NumPar = 4;
7087  double params[] = {mHl2, Me, Mmu, Mtau};
7088 
7089  int i = CacheCheck(I_h_L_cache, NumPar, params);
7090  if (i>=0) {
7091  return ( I_h_L_cache[NumPar][i] );
7092  } else {
7093  double TAUe=4.0*Me*Me/mHl2;
7094  double TAUmu=4.0*Mmu*Mmu/mHl2;
7095  double TAUtau=4.0*Mtau*Mtau/mHl2;
7096  gslpp::complex newResult = -2.0*(TAUe*(1.0+(1.0-TAUe)*f_func(TAUe))
7097  +TAUmu*(1.0+(1.0-TAUmu)*f_func(TAUmu))
7098  +TAUtau*(1.0+(1.0-TAUtau)*f_func(TAUtau)));
7099  CacheShift(I_h_L_cache, NumPar, params, newResult);
7100  return newResult;
7101  }
7102 }
7103 
7104 gslpp::complex THDMcache::I_HH_L(const double mHh2, const double Mmu, const double Mtau) const {
7105  int NumPar = 3;
7106  double params[] = {mHh2, Mmu, Mtau};
7107 
7108  int i = CacheCheck(I_HH_L_cache, NumPar, params);
7109  if (i>=0) {
7110  return ( I_HH_L_cache[NumPar][i] );
7111  } else {
7112  double TAUmu=4.0*Mmu*Mmu/mHh2;
7113  double TAUtau=4.0*Mtau*Mtau/mHh2;
7114  gslpp::complex newResult = -2.0*(TAUmu*(1.0+(1.0-TAUmu)*f_func(TAUmu))+
7115  TAUtau*(1.0+(1.0-TAUtau)*f_func(TAUtau)));
7116  CacheShift(I_HH_L_cache, NumPar, params, newResult);
7117  return newResult;
7118  }
7119 }
7120 
7121 gslpp::complex THDMcache::I_A_L(const double mA2, const double Mmu, const double Mtau) const {
7122  int NumPar = 3;
7123  double params[] = {mA2, Mmu, Mtau};
7124 
7125  int i = CacheCheck(I_A_L_cache, NumPar, params);
7126  if (i>=0) {
7127  return ( I_A_L_cache[NumPar][i] );
7128  } else {
7129  double TAUmu=4.0*Mmu*Mmu/mA2;
7130  double TAUtau=4.0*Mtau*Mtau/mA2;
7131  gslpp::complex newResult = -2.0*(TAUmu*f_func(TAUmu)+TAUtau*f_func(TAUtau));
7132  CacheShift(I_A_L_cache, NumPar, params, newResult);
7133  return newResult;
7134  }
7135 }
7136 
7137 gslpp::complex THDMcache::I_H_W(const double mH, const double MW) const {
7138  int NumPar = 2;
7139  double params[] = {mH, MW};
7140 
7141  int i = CacheCheck(I_H_W_cache, NumPar, params);
7142  if (i>=0) {
7143  return ( I_H_W_cache[NumPar][i] );
7144  } else {
7145  double TAUw=4.0*MW*MW/(mH*mH);
7146  gslpp::complex newResult = 2.0 + 3.0*TAUw + 3.0*TAUw*(2.0-TAUw)*f_func(TAUw);
7147  CacheShift(I_H_W_cache, NumPar, params, newResult);
7148  return newResult;
7149  }
7150 }
7151 
7152 gslpp::complex THDMcache::I_H_Hp(const double mHp2, const double mH) const {
7153  int NumPar = 2;
7154  double params[] = {mHp2, mH};
7155 
7156  int i = CacheCheck(I_H_Hp_cache, NumPar, params);
7157  if (i>=0) {
7158  return ( I_H_Hp_cache[NumPar][i] );
7159  } else {
7160  double TAUhp=4.0*mHp2/(mH*mH);
7161  gslpp::complex newResult = -TAUhp*(1.0-TAUhp*f_func(TAUhp));
7162  CacheShift(I_H_Hp_cache, NumPar, params, newResult);
7163  return newResult;
7164  }
7165 }
7166 
7167 gslpp::complex THDMcache::A_h_U(const double mHl2, const double cW2, const double Mu, const double Mc, const double Mt, const double MZ) const {
7168  int NumPar = 6;
7169  double params[] = {mHl2, cW2, Mu, Mc, Mt, MZ};
7170 
7171  int i = CacheCheck(A_h_U_cache, NumPar, params);
7172  if (i>=0) {
7173  return ( A_h_U_cache[NumPar][i] );
7174  } else {
7175  double TAUu=4.0*Mu*Mu/mHl2;
7176  double TAUc=4.0*Mc*Mc/mHl2;
7177  double TAUt=4.0*Mt*Mt/mHl2;
7178  double LAMu=4.0*Mu*Mu/(MZ*MZ);
7179  double LAMc=4.0*Mc*Mc/(MZ*MZ);
7180  double LAMt=4.0*Mt*Mt/(MZ*MZ);
7181  double sW2=1.0-cW2;
7182  gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(Int1(TAUu,LAMu)+Int1(TAUc,LAMc)
7183  +Int1(TAUt,LAMt)-Int2(TAUu,LAMu)-Int2(TAUc,LAMc)-Int2(TAUt,LAMt));
7184  CacheShift(A_h_U_cache, NumPar, params, newResult);
7185  return newResult;
7186  }
7187 }
7188 
7189 gslpp::complex THDMcache::A_HH_U(const double mHh2, const double cW2, const double Mc, const double Mt, const double MZ) const {
7190  int NumPar = 5;
7191  double params[] = {mHh2, cW2, Mc, Mt, MZ};
7192 
7193  int i = CacheCheck(A_HH_U_cache, NumPar, params);
7194  if (i>=0) {
7195  return ( A_HH_U_cache[NumPar][i] );
7196  } else {
7197  double TAUc=4.0*Mc*Mc/mHh2;
7198  double TAUt=4.0*Mt*Mt/mHh2;
7199  double LAMc=4.0*Mc*Mc/(MZ*MZ);
7200  double LAMt=4.0*Mt*Mt/(MZ*MZ);
7201  double sW2=1.0-cW2;
7202  gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(Int1(TAUc,LAMc)-Int2(TAUc,LAMc)
7203  +Int1(TAUt,LAMt)-Int2(TAUt,LAMt));
7204  CacheShift(A_HH_U_cache, NumPar, params, newResult);
7205  return newResult;
7206  }
7207 }
7208 
7209 gslpp::complex THDMcache::A_A_U(const double mA2, const double cW2, const double Mc, const double Mt, const double MZ) const {
7210  int NumPar = 5;
7211  double params[] = {mA2, cW2, Mc, Mt, MZ};
7212 
7213  int i = CacheCheck(A_A_U_cache, NumPar, params);
7214  if (i>=0) {
7215  return ( A_A_U_cache[NumPar][i] );
7216  } else {
7217  double TAUc=4.0*Mc*Mc/mA2;
7218  double TAUt=4.0*Mt*Mt/mA2;
7219  double LAMc=4.0*Mc*Mc/(MZ*MZ);
7220  double LAMt=4.0*Mt*Mt/(MZ*MZ);
7221  double sW2=1.0-cW2;
7222  gslpp::complex newResult = -4.0*(1.0/2.0-4.0/3.0*sW2)*(-Int2(TAUc,LAMc)-Int2(TAUt,LAMt))/sqrt(sW2*cW2);
7223  CacheShift(A_A_U_cache, NumPar, params, newResult);
7224  return newResult;
7225  }
7226 }
7227 
7228 gslpp::complex THDMcache::A_h_D(const double mHl2, const double cW2, const double Md, const double Ms, const double Mb, const double MZ) const {
7229  int NumPar = 6;
7230  double params[] = {mHl2, cW2, Md, Ms, Mb, MZ};
7231 
7232  int i = CacheCheck(A_h_D_cache, NumPar, params);
7233  if (i>=0) {
7234  return ( A_h_D_cache[NumPar][i] );
7235  } else {
7236  double TAUd=4.0*Md*Md/mHl2;
7237  double TAUs=4.0*Ms*Ms/mHl2;
7238  double TAUb=4.0*Mb*Mb/mHl2;
7239  double LAMd=4.0*Md*Md/(MZ*MZ);
7240  double LAMs=4.0*Ms*Ms/(MZ*MZ);
7241  double LAMb=4.0*Mb*Mb/(MZ*MZ);
7242  double sW2=1.0-cW2;
7243  gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(Int1(TAUd,LAMd)+Int1(TAUs,LAMs)
7244  +Int1(TAUb,LAMb)-Int2(TAUd,LAMd)-Int2(TAUs,LAMs)-Int2(TAUb,LAMb));
7245  CacheShift(A_h_D_cache, NumPar, params, newResult);
7246  return newResult;
7247  }
7248 }
7249 
7250 gslpp::complex THDMcache::A_HH_D(const double mHh2, const double cW2, const double Ms, const double Mb, const double MZ) const {
7251  int NumPar = 5;
7252  double params[] = {mHh2, cW2, Ms, Mb, MZ};
7253 
7254  int i = CacheCheck(A_HH_D_cache, NumPar, params);
7255  if (i>=0) {
7256  return ( A_HH_D_cache[NumPar][i] );
7257  } else {
7258  double TAUs=4.0*Ms*Ms/mHh2;
7259  double TAUb=4.0*Mb*Mb/mHh2;
7260  double LAMs=4.0*Ms*Ms/(MZ*MZ);
7261  double LAMb=4.0*Mb*Mb/(MZ*MZ);
7262  double sW2=1.0-cW2;
7263  gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(Int1(TAUs,LAMs)-Int2(TAUs,LAMs)
7264  +Int1(TAUb,LAMb)-Int2(TAUb,LAMb));
7265  CacheShift(A_HH_D_cache, NumPar, params, newResult);
7266  return newResult;
7267  }
7268 }
7269 
7270 gslpp::complex THDMcache::A_A_D(const double mA2, const double cW2, const double Ms, const double Mb, const double MZ) const {
7271  int NumPar = 5;
7272  double params[] = {mA2, cW2, Ms, Mb, MZ};
7273 
7274  int i = CacheCheck(A_A_D_cache, NumPar, params);
7275  if (i>=0) {
7276  return ( A_A_D_cache[NumPar][i] );
7277  } else {
7278  double TAUs=4.0*Ms*Ms/mA2;
7279  double TAUb=4.0*Mb*Mb/mA2;
7280  double LAMs=4.0*Ms*Ms/(MZ*MZ);
7281  double LAMb=4.0*Mb*Mb/(MZ*MZ);
7282  double sW2=1.0-cW2;
7283  gslpp::complex newResult = 2.0*(-1.0/2.0+2.0/3.0*sW2)*(-Int2(TAUs,LAMs)-Int2(TAUb,LAMb))/sqrt(sW2*cW2);
7284  CacheShift(A_A_D_cache, NumPar, params, newResult);
7285  return newResult;
7286  }
7287 }
7288 
7289 gslpp::complex THDMcache::A_h_L(const double mHl2, const double cW2, const double Me, const double Mmu, const double Mtau, const double MZ) const {
7290  int NumPar = 6;
7291  double params[] = {mHl2, cW2, Me, Mmu, Mtau, MZ};
7292 
7293  int i = CacheCheck(A_h_L_cache, NumPar, params);
7294  if (i>=0) {
7295  return ( A_h_L_cache[NumPar][i] );
7296  } else {
7297  double TAUe=4.0*Me*Me/mHl2;
7298  double TAUmu=4.0*Mmu*Mmu/mHl2;
7299  double TAUtau=4.0*Mtau*Mtau/mHl2;
7300  double LAMe=4.0*Me*Me/(MZ*MZ);
7301  double LAMmu=4.0*Mmu*Mmu/(MZ*MZ);
7302  double LAMtau=4.0*Mtau*Mtau/(MZ*MZ);
7303  double sW2=1.0-cW2;
7304  gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(Int1(TAUe,LAMe)+Int1(TAUmu,LAMmu)
7305  +Int1(TAUtau,LAMtau)-Int2(TAUe,LAMe)-Int2(TAUmu,LAMmu)
7306  -Int2(TAUtau,LAMtau));
7307  CacheShift(A_h_L_cache, NumPar, params, newResult);
7308  return newResult;
7309  }
7310 }
7311 
7312 gslpp::complex THDMcache::A_HH_L(const double mHh2, const double cW2, const double Mmu, const double Mtau, const double MZ) const {
7313  int NumPar = 5;
7314  double params[] = {mHh2, cW2, Mmu, Mtau, MZ};
7315 
7316  int i = CacheCheck(A_HH_L_cache, NumPar, params);
7317  if (i>=0) {
7318  return ( A_HH_L_cache[NumPar][i] );
7319  } else {
7320  double TAUmu=4.0*Mmu*Mmu/mHh2;
7321  double TAUtau=4.0*Mtau*Mtau/mHh2;
7322  double LAMmu=4.0*Mmu*Mmu/(MZ*MZ);
7323  double LAMtau=4.0*Mtau*Mtau/(MZ*MZ);
7324  double sW2=1.0-cW2;
7325  gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(Int1(TAUmu,LAMmu)-Int2(TAUmu,LAMmu)
7326  +Int1(TAUtau,LAMtau)-Int2(TAUtau,LAMtau));
7327  CacheShift(A_HH_L_cache, NumPar, params, newResult);
7328  return newResult;
7329  }
7330 }
7331 
7332 gslpp::complex THDMcache::A_A_L(const double mA2, const double cW2, const double Mmu, const double Mtau, const double MZ) const {
7333  int NumPar = 5;
7334  double params[] = {mA2, cW2, Mmu, Mtau, MZ};
7335 
7336  int i = CacheCheck(A_A_L_cache, NumPar, params);
7337  if (i>=0) {
7338  return ( A_A_L_cache[NumPar][i] );
7339  } else {
7340  double TAUmu=4.0*Mmu*Mmu/mA2;
7341  double TAUtau=4.0*Mtau*Mtau/mA2;
7342  double LAMmu=4.0*Mmu*Mmu/(MZ*MZ);
7343  double LAMtau=4.0*Mtau*Mtau/(MZ*MZ);
7344  double sW2=1.0-cW2;
7345  gslpp::complex newResult = 2.0*(-1.0/2.0+2.0*sW2)*(-Int2(TAUmu,LAMmu)-Int2(TAUtau,LAMtau))/sqrt(sW2*cW2);
7346  CacheShift(A_A_L_cache, NumPar, params, newResult);
7347  return newResult;
7348  }
7349 }
7350 
7351 gslpp::complex THDMcache::A_H_W(const double mH, const double cW2, const double MW, const double MZ) const {
7352  int NumPar = 4;
7353  double params[] = {mH, cW2, MW, MZ};
7354 
7355  int i = CacheCheck(A_H_W_cache, NumPar, params);
7356  if (i>=0) {
7357  return ( A_H_W_cache[NumPar][i] );
7358  } else {
7359  double TAUw=4.0*MW*MW/(mH*mH);
7360  double LAMw=4.0*MW*MW/(MZ*MZ);
7361  double sW2=1.0-cW2;
7362  gslpp::complex newResult = -sqrt(cW2/sW2)*(4.0*(3.0-sW2/cW2)*Int2(TAUw,LAMw)
7363  +((1.0+2.0/TAUw)*sW2/cW2-(5.0+2.0/TAUw))*Int1(TAUw,LAMw));
7364  CacheShift(A_H_W_cache, NumPar, params, newResult);
7365  return newResult;
7366  }
7367 }
7368 
7369 gslpp::complex THDMcache::A_H_Hp(const double mHp2, const double mH, const double cW2, const double MZ) const {
7370  int NumPar = 4;
7371  double params[] = {mHp2, mH, cW2, MZ};
7372 
7373  int i = CacheCheck(A_H_Hp_cache, NumPar, params);
7374  if (i>=0) {
7375  return ( A_H_Hp_cache[NumPar][i] );
7376  } else {
7377  double TAUhp=4.0*mHp2/(mH*mH);
7378  double LAMhp=4.0*mHp2/(MZ*MZ);
7379  double sW2=1.0-cW2;
7380  gslpp::complex newResult = (1.0-2.0*sW2)/sqrt(cW2*sW2)*Int1(TAUhp,LAMhp);
7381  CacheShift(A_H_Hp_cache, NumPar, params, newResult);
7382  return newResult;
7383  }
7384 }
7385 
7386 gslpp::complex THDMcache::f_func(const double x) const{
7387  if(x<1) {
7388  gslpp::complex z = -gslpp::complex::i()*M_PI;
7389  return -pow(log((1.0+sqrt(1.0-x))/(1.0-sqrt(1.0-x)))+z,2)/4.0;
7390  }
7391  else {
7392  return pow(asin(sqrt(1.0/x)),2);
7393  }
7394 }
7395 
7396 
7397 
7398 gslpp::complex THDMcache::g_func(const double x) const{
7399  if(x<1) {
7400  gslpp::complex z = -gslpp::complex::i()*M_PI;
7401  gslpp::complex gs1 = sqrt(1.0-x)*(log((1.0+sqrt(1.0-x))/(1.0-sqrt(1.0-x)))+z)/2.0;
7402  return gs1;
7403  }
7404  else {
7405  gslpp::complex gg1 = sqrt(x-1.0)*asin(sqrt(1.0/x));
7406  return gg1;
7407  }
7408 }
7409 
7410 
7411 
7412 gslpp::complex THDMcache::Int1(const double tau, const double lambda) const{
7413  return tau*lambda/(tau-lambda)/2.0+tau*tau*lambda*lambda/((tau-lambda)
7414  *(tau-lambda))/2.0*(f_func(tau)-f_func(lambda))+tau*tau*lambda/((tau-lambda)
7415  *(tau-lambda))*(g_func(tau)-g_func(lambda));
7416 }
7417 
7418 
7419 
7420 gslpp::complex THDMcache::Int2(const double tau, const double lambda) const{
7421  return -tau*lambda/(tau-lambda)/2.0*(f_func(tau)-f_func(lambda));
7422 }
7423 
7424 
7425 int THDMcache::HSTheta (const double x) const{
7426  if(x<0) return 0.0;
7427  else return 1.0;
7428 }
7429 
7430 
7431 double THDMcache::KaellenFunction(const double a2, const double b2, const double c2) const{
7432  int NumPar = 3;
7433  double params[] = {a2, b2, c2};
7434 
7435  int i = CacheCheckReal(KaellenFunction_cache, NumPar, params);
7436  if (i>=0) {
7437  return ( KaellenFunction_cache[NumPar][i] );
7438  }
7439  else {
7440  double newResult = 0.0;
7441  double x = (a2-b2-c2)*(a2-b2-c2)-4.0*b2*c2;
7442  if(x>0) newResult = sqrt(std::fabs(x/a2))/2.0;
7443  CacheShiftReal(KaellenFunction_cache, NumPar, params, newResult);
7444  return newResult;
7445  }
7446 }
7447 
7448 
7449 double THDMcache::cW2THDM(const double c02) const{
7450  return c02;
7451 }
7452 
7453 
7454 
7455 double THDMcache::MWTHDM(const double MW) const{
7456  return MW;
7457 }
7458 
7459 
7460 
7462 {
7463  double sW2=1.0-cW2;
7464  double sin_ba=sin(bma);
7465  double sinb=tanb/sqrt(1.0+tanb*tanb);
7466  double cosb=1.0/sqrt(1.0+tanb*tanb);
7467  double sina=sinb*cos(bma)-cosb*sin(bma);
7468  double cosa=cosb*cos(bma)+sinb*sin(bma);
7469 
7470  //The Standard Model h branching ratios
7471 
7472  BrSM_htobb = 5.77e-1;
7473  BrSM_htotautau = 6.32e-2;
7474  BrSM_htogaga = 2.28e-3;
7475  double BrSM_htoWW = 2.15e-1;
7476  double BrSM_htoZZ = 2.64e-2;
7477  double BrSM_htogg = 8.57e-2;
7478  double BrSM_htoZga = 1.54e-3;
7479  double BrSM_htocc = 2.91e-2;
7480 
7481  //The ggH cross section in the SM at 8 TeV
7482  double SigmaggF8 = myTHDM->computeSigmaggH(8.0);
7483  //The ggH cross section in the SM at 13 TeV.
7484  double SigmaggF13 = myTHDM->computeSigmaggH(13.0);
7485  //The square of the top-quark contribution to the ggH cross section in the SM at 8 TeV
7486  double Sigmaggh_tt8 = myTHDM->computeSigmaggH_tt(8.0);
7487  //The square of the top-quark contribution to the ggH cross section in the SM at 13 TeV
7488 // double Sigmaggh_tt13 = myTHDM->computeSigmaggH_tt(13.0);
7489  //The square of the bottom-quark contribution to the ggH cross section in the SM at 8 TeV
7490  double Sigmaggh_bb8 = myTHDM->computeSigmaggH_bb(8.0);
7491  //The square of the bottom-quark contribution to the ggH cross section in the SM at 13 TeV
7492 // double Sigmaggh_bb13 = myTHDM->computeSigmaggH_bb(13.0);
7493  //The ttH production cross section in the SM at 8 TeV
7494  double Sigmatth8 = myTHDM->computeSigmattH(8.0);
7495  //The ttH production cross section in the SM at 13 TeV
7496  double Sigmatth13 = myTHDM->computeSigmattH(13.0);
7497  //The bbH production cross section in the SM at 13 TeV
7498  double Sigmabbh13 = ip_cs_pptobbH_13(mHl);
7499  //The VBF plus Vh production cross section in the SM at 13 TeV
7500  double SigmaVBFVh13 = (myTHDM->computeSigmaVBF(13.0)+myTHDM->computeSigmaWH(13.0)+myTHDM->computeSigmaZH(13.0));
7501 
7502  /* r_ii is the ratio of the squared 2HDM vertex coupling of h to
7503  * the particle i and the respective squared SM coupling.*/
7504  rh_QuQu=cosa*cosa/(sinb*sinb);
7505  rh_VV=sin_ba*sin_ba;
7506  rh_QdQd=0.0;//It depends on the modelType
7507  rh_ll=0.0;//It depends on the modelType
7508  rh_gg=0.0;//It depends on the modelType
7509 
7510  //Calulation of rh_gg, rh_QdQd, rh_ll, rh_gaga, rh_Zga (depending on the model type): START
7511 
7512  //rh_gaga formula = abs(I_h_F+I_h_W+I_h_Hp)^2 / abs(I_hSM_F+I_hSM_W)^2
7513 
7514  gslpp::complex I_h_F=0.0;//It depends on the modelType
7515  gslpp::complex fermU=I_h_U(mHl*mHl,Mu,Mc,Mt);
7516  gslpp::complex fermD=I_h_D(mHl*mHl,Md,Ms,Mb);
7518  gslpp::complex I_hSM_W=I_H_W(mHl*mHl,MW);
7519  gslpp::complex I_h_W=sin_ba*I_hSM_W;
7521 
7522  double ABSgagaTHDM=0.0;
7523  double ABSgagaSM=0.0;
7524 
7525  //rh_Zga formula = abs(A_h_F+A_h_W+A_h_Hp)^2 / abs(A_hSM_F+A_hSM_W)^2
7526 
7527  gslpp::complex A_h_F = 0.0;//It depends on the modelType
7528  gslpp::complex A_h_Ux = A_h_U(mHl*mHl,cW2,Mu,Mc,Mt,MZ);
7529  gslpp::complex A_h_Dx = A_h_D(mHl*mHl,cW2,Md,Ms,Mb,MZ);
7530  gslpp::complex A_h_Lx = A_h_L(mHl*mHl,cW2,Me,Mmu,Mtau,MZ);
7531  gslpp::complex A_hSM_W = A_H_W(mHl*mHl,cW2,MW,MZ);
7532  gslpp::complex A_h_W = sin_ba*A_hSM_W;
7534 
7535  double ABSZgaTHDM=0.0;
7536  double ABSZgaSM=0.0;
7537 
7538  if( modelflag == "type1" ) {
7539  rh_gg=cosa/sinb*cosa/sinb;
7540  rh_QdQd=cosa/sinb*cosa/sinb;
7541  rh_ll=cosa/sinb*cosa/sinb;
7542  I_h_F=cosa/sinb*(fermU+fermD+fermL);
7543  A_h_F = cosa/sinb*(A_h_Ux+A_h_Dx+A_h_Lx)/sqrt(sW2*cW2);
7544  }
7545  else if( modelflag == "type2" ) {
7546  rh_gg=-cosa/sinb*sina/cosb+(cosa/sinb+sina/cosb)
7547  *(Sigmaggh_tt8*cosa/sinb+Sigmaggh_bb8*sina/cosb)/SigmaggF8;
7548  rh_QdQd=sina/cosb*sina/cosb;
7549  rh_ll=sina/cosb*sina/cosb;
7550  I_h_F=cosa/sinb*fermU -sina/cosb*(fermD+fermL);
7551  A_h_F = (cosa/sinb*A_h_Ux-sina/cosb*(A_h_Dx+A_h_Lx))/sqrt(sW2*cW2);
7552  }
7553  else if( modelflag == "typeX" ) {
7554  rh_gg=cosa/sinb*cosa/sinb;
7555  rh_QdQd=cosa/sinb*cosa/sinb;
7556  rh_ll=sina/cosb*sina/cosb;
7557  I_h_F = cosa/sinb*(fermU+fermD) -sina/cosb*fermL;
7558  A_h_F = (cosa/sinb*(A_h_Ux+A_h_Dx)-sina/cosb*A_h_Lx)/sqrt(sW2*cW2);
7559  }
7560  else if( modelflag == "typeY" ) {
7561  rh_gg=-cosa/sinb*sina/cosb+(cosa/sinb+sina/cosb)
7562  *(Sigmaggh_tt8*cosa/sinb+Sigmaggh_bb8*sina/cosb)/SigmaggF8;
7563  rh_QdQd=sina/cosb*sina/cosb;
7564  rh_ll=cosa/sinb*cosa/sinb;
7565  I_h_F = cosa/sinb*(fermU+fermL) -sina/cosb*fermD;
7566  A_h_F = (cosa/sinb*(A_h_Ux+A_h_Lx)-sina/cosb*A_h_Dx)/sqrt(sW2*cW2);
7567  }
7568  else {
7569  throw std::runtime_error("modelflag can be only any of \"type1\", \"type2\", \"typeX\" or \"typeY\"");
7570  }
7571 
7572  ABSgagaTHDM=(I_h_F+I_h_W+I_h_Hp).abs2();
7573  ABSgagaSM=(fermU+fermL+fermD+I_hSM_W).abs2();
7574  rh_gaga=ABSgagaTHDM/ABSgagaSM;
7575 
7576  ABSZgaTHDM=(A_h_F+A_h_W+A_h_Hp).abs2();
7577  ABSZgaSM=((A_h_Ux+A_h_Lx+A_h_Dx)/sqrt(sW2*cW2)+A_hSM_W).abs2();
7578  rh_Zga=ABSZgaTHDM/ABSZgaSM;
7579  //Calulation of rh_gg, rh_QdQd, rh_ll, rh_gaga, rh_Zga (they depend on the model type): END
7580 
7581  /* ggF_tth8 is the ratio of the THDM and SM cross sections for ggF or tth production at 8 TeV*/
7582  ggF_tth8 = (SigmaggF8*rh_gg + Sigmatth8*rh_QuQu)/(SigmaggF8 + Sigmatth8);
7583  /* ggF_tth13 is the ratio of the THDM and SM cross sections for ggF or tth production at 13 TeV */
7584  ggF_tth13 = (SigmaggF13*rh_gg + Sigmatth13*rh_QuQu)/(SigmaggF13 + Sigmatth13);
7585  /* pph13 is the ratio of the THDM and SM cross sections for an h production at 13 TeV */
7586  pph13 = (SigmaggF13*rh_gg + SigmaVBFVh13*rh_VV + Sigmatth13*rh_QuQu + Sigmabbh13*rh_QdQd)/(SigmaggF13 + SigmaVBFVh13 + Sigmatth13 + Sigmabbh13);
7587  /* VBF_Vh is the ratio of the THDM and SM cross sections for VBF or Vh production */
7588  VBF_Vh = rh_VV;
7589 
7590  sumModBRs = rh_QdQd*BrSM_htobb + rh_VV*(BrSM_htoWW+BrSM_htoZZ) + rh_ll*BrSM_htotautau +
7591  rh_gaga*BrSM_htogaga + rh_gg*BrSM_htogg + rh_Zga*BrSM_htoZga + rh_QuQu*BrSM_htocc;
7592 
7594 
7598  THDM_BR_h_WW = rh_VV*BrSM_htoWW/sumModBRs;
7599  THDM_BR_h_ZZ = rh_VV*BrSM_htoZZ/sumModBRs;
7600  THDM_BR_h_gg = rh_gg*BrSM_htogg/sumModBRs;
7601  THDM_BR_h_cc = rh_QuQu*BrSM_htocc/sumModBRs;
7602 }
7603 
7605 {
7606  double GF=1/(sqrt(2.0)*vev*vev);
7607  double sW2=1.0-cW2;
7608  double mHh=sqrt(mHh2);
7609  double sin_ba=sin(bma);
7610  double sinb=tanb/sqrt(1.0+tanb*tanb);
7611  double cosb=1.0/sqrt(1.0+tanb*tanb);
7612  double sina=sinb*cos(bma)-cosb*sin(bma);
7613  double cosa=cosb*cos(bma)+sinb*sin(bma);
7614  double cos_2b=cosb*cosb-sinb*sinb;
7615  double cos_ba=cos(bma);
7616 
7617  //These cross sections ratios are necessary for rHH_gg
7618  //SM gg -> H production cross section ratio at 8 TeV, top loop only over total
7619  double rSigmaggH_t8 = ip_csr_ggH_t_8(mHh);
7620  //SM gg -> H production cross section ratio at 8 TeV, bottom loop only over total
7621  double rSigmaggH_b8 = ip_csr_ggH_b_8(mHh);
7622  //SM gg -> H production cross section ratio at 13 TeV, top loop only over total
7623 // double rSigmaggH_t13 = ip_csr_ggH_t_13(mHh);
7624  //SM gg -> H production cross section ratio at 13 TeV, bottom loop only over total
7625 // double rSigmaggH_b13 = ip_csr_ggH_b_13(mHh);
7626 
7627  /* r_ii is the ratio between the squared 2HDM vertex coupling of the heavy Higgs to
7628  * the particle i and the corresponding coupling of the SM Higgs boson.*/
7629  double rHH_QuQu=sina/sinb*sina/sinb;
7630  double rHH_QdQd=0.0;//It depends on the modelType
7631  double rHH_ll=0.0;//It depends on the modelType
7632  rHH_gg=0.0;//It depends on the modelType
7633  rHH_VV=cos_ba*cos_ba;
7634 
7635  /*Calulation of rHH_QdQd, rHH_ll, rHH_gg, Gamma_Hgaga, Gamma_HZga, Gamma_Hgg
7636  * (they depend on the model type): START*/
7637 
7638  /*Gamma_Hgaga and Gamma_HZga expressions can be found in
7639  "The Higgs Hunter's Guide", Appendix C and in arXiv:0902.4665v3, Appendix A;
7640  *Gamma_Hgg expression can be found in arXiv:0902.4665v3, Appendix A*/
7641 
7642  /*I_HH_F, I_HH_W and I_HH_Hp are needed for Gamma_Hgaga;
7643  * their expressions can be found in "The Higgs Hunter's Guide", Appendix C, C.4*/
7644  gslpp::complex I_HH_F=0.0;//It depends on the modelType
7645  gslpp::complex I_HH_Ux=I_HH_U(mHh2,Mc,Mt);
7646  gslpp::complex I_HH_Dx=I_HH_D(mHh2,Ms,Mb);
7647  gslpp::complex I_HH_Lx=I_HH_L(mHh2,Mmu,Mtau);
7648  gslpp::complex I_HH_W=cos_ba*I_H_W(mHh,MW);
7649  /* g_HH_HpHm is the coupling of the heavy Higgs boson to Hp and Hm; its
7650  * expression can be found in arXiv:1403.1264v2, formula 5*/
7652 
7653  /*A_HH_F, A_HH_W and A_HH_Hp are needed for Gamma_HZga;
7654  * their expressions can be found in "The Higgs Hunter's Guide", Appendix C, C.12*/
7655  gslpp::complex A_HH_F = 0.0;//It depends on the modelType
7656  gslpp::complex A_HH_Ux = A_HH_U(mHh2,cW2,Mc,Mt,MZ);
7657  gslpp::complex A_HH_Dx = A_HH_D(mHh2,cW2,Ms,Mb,MZ);
7658  gslpp::complex A_HH_Lx = A_HH_L(mHh2,cW2,Mmu,Mtau,MZ);
7659  /*A_HH_W expression can be found in "The Higgs Hunter's Guide", Appendix C, C.13*/
7660  gslpp::complex A_HH_W = cos_ba*A_H_W(mHh,cW2,MW,MZ);
7661  /*A_HH_Hp expression can be found in "The Higgs Hunter's Guide", Appendix C, C.14*/
7663 
7664  if( modelflag == "type1" ) {
7665  rHH_gg=sina/sinb*sina/sinb;
7666  rHH_QdQd=sina/sinb*sina/sinb;
7667  rHH_ll=sina/sinb*sina/sinb;
7668  I_HH_F=sina/sinb*(I_HH_Ux+I_HH_Dx+I_HH_Lx);
7669  A_HH_F = sina/sinb*(A_HH_Ux+A_HH_Dx+A_HH_Lx)/sqrt(sW2*cW2);
7670  }
7671  else if( modelflag == "type2" ) {
7672  rHH_gg=sina/sinb*cosa/cosb+rSigmaggH_t8*sina/sinb*(sina/sinb-cosa/cosb)
7673  +rSigmaggH_b8*cosa/cosb*(cosa/cosb-sina/sinb);
7674  rHH_QdQd=cosa/cosb*cosa/cosb;
7675  rHH_ll=cosa/cosb*cosa/cosb;
7676  I_HH_F=sina/sinb*I_HH_Ux+cosa/cosb*(I_HH_Dx+I_HH_Lx);
7677  A_HH_F = (sina/sinb*A_HH_Ux+cosa/cosb*(A_HH_Dx+A_HH_Lx))/sqrt(sW2*cW2);
7678  }
7679  else if( modelflag == "typeX" ) {
7680  rHH_gg=sina/sinb*sina/sinb;
7681  rHH_QdQd=sina/sinb*sina/sinb;
7682  rHH_ll=cosa/cosb*cosa/cosb;
7683  I_HH_F=sina/sinb*(I_HH_Ux+I_HH_Dx)+cosa/cosb*I_HH_Lx;
7684  A_HH_F = (sina/sinb*(A_HH_Ux+A_HH_Dx)+cosa/cosb*A_HH_Lx)/sqrt(sW2*cW2);
7685  }
7686  else if( modelflag == "typeY" ) {
7687  rHH_gg=sina/sinb*cosa/cosb+rSigmaggH_t8*sina/sinb*(sina/sinb-cosa/cosb)
7688  +rSigmaggH_b8*cosa/cosb*(cosa/cosb-sina/sinb);
7689  rHH_QdQd=cosa/cosb*cosa/cosb;
7690  rHH_ll=sina/sinb*sina/sinb;
7691  I_HH_F=sina/sinb*(I_HH_Ux+I_HH_Lx)+cosa/cosb*I_HH_Dx;
7692  A_HH_F = (sina/sinb*(A_HH_Ux+A_HH_Lx)+cosa/cosb*A_HH_Dx)/sqrt(sW2*cW2);
7693  }
7694  else {
7695  throw std::runtime_error("modelflag can be only any of \"type1\", \"type2\", \"typeX\" or \"typeY\"");
7696  }
7697 
7698  /*Gamma_Hgaga expression can be found in arXiv:0902.4665v3, Appendix A, A.8*/
7699  double Gamma_Hgaga=GF*Ale*Ale*mHh*mHh*mHh/(sqrt(2.0)*128.0*M_PI*M_PI*M_PI)
7700  *(I_HH_F+I_HH_W+I_HH_Hp).abs2();
7701 
7702  /*Gamma_HZga expression can be found in arXiv:0902.4665v3, Appendix A, A.9*/
7703  double Gamma_HZga=HSTheta(mHh-MZ)*GF*Ale*Ale*mHh*mHh*mHh/(sqrt(2.0)*64.0*M_PI*M_PI*M_PI)
7704  *(1.0-MZ*MZ/(mHh*mHh))*(1.0-MZ*MZ/(mHh*mHh))*(1.0-MZ*MZ/(mHh*mHh))
7705  *(A_HH_F+A_HH_W+A_HH_Hp).abs2();
7706 
7707  /*Gamma_Hgg expression can be found in arXiv:0902.4665v3, Appendix A, A.10 or in the Higgs Hunter's Guide (2.30); relative coupling see above*/
7708  double Gamma_Hgg=rHH_gg*GF*Als*Als*mHh*mHh*mHh/(sqrt(2.0)*16.0*M_PI*M_PI*M_PI)
7709  *(9.0/4.0)*(I_HH_Ux/4.0+I_HH_Dx).abs2();
7710 
7711  /*Calulation of rHH_QdQd, rHH_ll, rHH_gg, Gamma_Hgaga, Gamma_HZga, Gamma_Hgg: END*/
7712 
7714  SigmabbF_H8=ip_cs_pptobbH_8(mHh)*rHH_QdQd;
7716  double SigmattF_H8=ip_cs_pptottH_8(mHh)*rHH_QuQu;
7717  double SigmaVH_H8=(ip_cs_WtoWH_8(mHh)+ip_cs_ZtoZH_8(mHh))*rHH_VV;
7718  SigmaTotSM_H8 = 1.0e-15;
7719  if (mHh>=20. && mHh <=2000.) {
7721  }
7722  SigmaSumH8 = SigmaggF_H8 + SigmaVBF_H8 + SigmaVH_H8 + SigmattF_H8 + SigmabbF_H8;
7723 
7725  SigmabbF_H13=ip_cs_pptobbH_13(mHh)*rHH_QdQd;
7727  SigmattF_H13=ip_cs_pptottH_13(mHh)*rHH_QuQu;
7729 // double SigmaTotSM_H13 = 1.0e-15;
7730 // if (mHh>=20. && mHh <=2000.) {
7731 // SigmaTotSM_H13=ip_cs_ggtoH_13(mHh)+ip_cs_VBFtoH_13(mHh)+ip_cs_WtoWH_13(mHh)+ip_cs_ZtoZH_13(mHh)+ip_cs_pptottH_13(mHh)+ip_cs_pptobbH_13(mHh);
7732 // }
7734 
7735  double BrSM_Htott=ip_Br_HPtott(mHh);
7736  double BrSM_Htocc=ip_Br_HPtocc(mHh);
7737  double BrSM_Htobb=ip_Br_HPtobb(mHh);
7738  double BrSM_Htotautau=ip_Br_HPtotautau(mHh);
7739  double BrSM_Htomumu=ip_Br_HPtomumu(mHh);
7740  double BrSM_HtoWW =ip_Br_HPtoWW(mHh);
7741  double BrSM_HtoZZ =ip_Br_HPtoZZ(mHh);
7742 
7743  double GammaHtotSM=ip_GammaHPtotSM(mHh);
7744 
7745  double GammaHhh=HSTheta(mHh - 2.0*sqrt(mHl2))*sqrt(std::fabs(1.0 - (4.0*mHl2)/mHh2))
7746  *std::fabs((cos_ba*cos_ba/(4.0*sinb*cosb*sinb*cosb)
7747  *pow(m12_2 + mHh2*cosa*sina + (2.0*mHl2 - 3.0*m12_2/(sinb*cosb))
7748  *sina*cosa,2))/(vev*vev))/(8.0*mHh*M_PI);
7749 
7750  double GammaHHpHm=HSTheta(mHh - 2.0*sqrt(mHp2))*sqrt(std::fabs(1.0 - (4.0*mHp2)/mHh2))
7751  *std::fabs(pow(cos_ba*(mHh2 + 2.0*mHp2 - 2.0*m12_2/sinb/cosb)
7752  -cos_2b/(sinb*cosb)*(mHh2 - m12_2/sinb/cosb)*sin_ba,2)/(vev*vev))
7753  /(16.0*mHh*M_PI);
7754 
7755  double GammaHAA=HSTheta(mHh-2.0*sqrt(mA2))*sqrt(std::fabs(1.0 - (4.0*mA2)/mHh2))
7756  *std::fabs(pow(cos_ba*(2.0*mA2 + mHh2 - 2.0*m12_2/sinb/cosb)
7757  - cos_2b/(sinb*cosb)*(mHh2 - m12_2/sinb/cosb)*sin_ba,2)/(vev*vev))
7758  /(32.0*mHh*M_PI);
7759 
7760  double GammaHAZ=HSTheta(mHh-sqrt(mA2)-MZ)*pow(KaellenFunction(mHh2,MZ*MZ,mA2),3)
7761  *sin_ba*sin_ba/(2.0*M_PI*vev*vev);
7762 
7763  double GammaHHpW=HSTheta(mHh-sqrt(mHp2)-MW)*pow(KaellenFunction(mHh2,MW*MW,mHp2),3)*sin_ba*sin_ba/(M_PI*vev*vev);
7764 
7765  GammaHtot= ((BrSM_Htott+BrSM_Htocc)*rHH_QuQu
7766  +BrSM_Htobb*rHH_QdQd
7767  +(BrSM_Htotautau+BrSM_Htomumu)*rHH_ll
7768  +(BrSM_HtoWW+BrSM_HtoZZ)*rHH_VV)*GammaHtotSM
7769  +Gamma_Hgaga+Gamma_HZga+Gamma_Hgg
7770  +GammaHhh+GammaHHpHm+GammaHAA+GammaHAZ+GammaHHpW;
7771 
7772 // std::cout<<"GammaHtt = "<<BrSM_Htott*rHH_QuQu*GammaHtotSM<<std::endl;
7773 // std::cout<<"GammaHcc = "<<BrSM_Htocc*rHH_QuQu*GammaHtotSM<<std::endl;
7774 // std::cout<<"GammaHbb = "<<BrSM_Htobb*rHH_QdQd*GammaHtotSM<<std::endl;
7775 // std::cout<<"GammaHtautau = "<<BrSM_Htotautau*rHH_ll*GammaHtotSM<<std::endl;
7776 // std::cout<<"GammaHmumu = "<<BrSM_Htomumu*rHH_ll*GammaHtotSM<<std::endl;
7777 // std::cout<<"GammaHWW = "<<BrSM_HtoWW*rHH_VV*GammaHtotSM<<std::endl;
7778 // std::cout<<"GammaHZZ = "<<BrSM_HtoZZ*rHH_VV*GammaHtotSM<<std::endl;
7779 // std::cout<<"GammaHgaga = "<<Gamma_Hgaga<<std::endl;
7780 // std::cout<<"GammaHgg = "<<Gamma_Hgg<<std::endl;
7781 // std::cout<<"GammaHZga = "<<Gamma_HZga<<std::endl;
7782 // std::cout<<"GammaHhh = "<<GammaHhh<<std::endl;
7783 // std::cout<<"gHhh = "<<(cos_ba/(2.0*sinb*cosb)
7784 // *(m12_2 + mHh2*cosa*sina + (2.0*mHl2 - 3.0*m12_2/(sinb*cosb))
7785 // *sina*cosa))/(vev))<<std::endl;
7786 // std::cout<<"------------------"<<std::endl;
7787 // std::cout<<"GammaHtotSM = "<<GammaHtotSM<<std::endl;
7788 // std::cout<<"GammaHtot = "<<GammaHtot<<std::endl;
7789 
7790  Br_Htott=BrSM_Htott*rHH_QuQu*GammaHtotSM/GammaHtot;
7791  Br_Htobb=BrSM_Htobb*rHH_QdQd*GammaHtotSM/GammaHtot;
7792  Br_Htotautau=BrSM_Htotautau*rHH_ll*GammaHtotSM/GammaHtot;
7793  Br_HtoWW=BrSM_HtoWW*rHH_VV*GammaHtotSM/GammaHtot;
7794  Br_HtoZZ=BrSM_HtoZZ*rHH_VV*GammaHtotSM/GammaHtot;
7795  Br_Htogaga=Gamma_Hgaga/GammaHtot;
7796  Br_HtoZga=Gamma_HZga/GammaHtot;
7797  Br_Htohh=GammaHhh/GammaHtot;
7798  Br_HtoAA=GammaHAA/GammaHtot;
7799  Br_HtoHpHm=GammaHHpHm/GammaHtot;
7800  Br_HtoAZ=GammaHAZ/GammaHtot;
7801  Br_HtoHpW=GammaHHpW/GammaHtot;
7802 }
7803 
7805 {
7806  double mHh=sqrt(mHh2);
7807  double mA=sqrt(mA2);
7808 
7809  double Br_Ztoee=0.03363; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7810  double Br_Ztomumu=0.03366; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7811  double Br_Ztotautau=0.0337; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7812  double Br_Ztoinv=0.2; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7813  double Br_Wtoenu=0.1071; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7814  double Br_Wtomunu=0.1063; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7815  double Br_Wtotaunu=0.1138; //C. Patrignani et al.(Particle Data Group), Chin. Phys. C, 40, 100001 (2016)
7816 
7817  //Theoretical expressions for the Heavy Higgs cross sections times branching ratios at 8 TeV
7818 
7823  pp_H_Zga_llga_TH8=SigmaSumH8*Br_HtoZga*(Br_Ztoee+Br_Ztomumu);
7836  pp_H_AZ_bbll_TH8=SigmaSumH8*Br_HtoAZ*Br_Atobb*(Br_Ztoee+Br_Ztomumu);
7837  pp_H_AZ_tautaull_TH8=SigmaSumH8*Br_HtoAZ*Br_Atotautau*(Br_Ztoee+Br_Ztomumu);
7838 
7839  //Ratios of theoretical Heavy Higgs cross sections and experimental upper limits at 8 TeV
7840 
7844  R_ggF_H_tautau_CMS8=0.0;
7848  R_bbF_H_tautau_CMS8=0.0;
7850  R_pp_H_gaga_ATLAS8=0.0;
7852  R_ggF_H_gaga_CMS8=0.0;
7853 // LIMIT_ggF_H_gaga_CMS8=0.0;
7854 // LIMEST_ggF_H_gaga_CMS8=0.0;
7855 // DEVIATION_ggF_H_gaga_CMS8=0.0;
7856 // BANDSIZE_ggF_H_gaga_CMS8=0.0;
7862  R_mu_pp_H_VV_CMS8=0.0;
7864  R_ggF_H_WW_ATLAS8=0.0;
7866  R_VBF_H_WW_ATLAS8=0.0;
7868  R_ggF_H_ZZ_ATLAS8=0.0;
7870  R_VBF_H_ZZ_ATLAS8=0.0;
7872  R_ggF_H_hh_ATLAS8=0.0;
7873  THoEX_pp_H_hh_CMS8=0.0;
7874  R_pp_H_hh_CMS8=0.0;
7878  R_pp_H_hh_bbbb_CMS8=0.0;
7882  R_ggF_H_tt_ATLAS8=0.0;
7883  THoEX_bbF_H_bb_CMS8=0.0;
7884  R_bbF_H_bb_CMS8=0.0;
7886  R_pp_H_AZ_bbll_CMS8=0.0;
7889 
7890  //Theoretical expressions for the Heavy Higgs cross sections times branching ratios at 13 TeV
7891 
7901  ggF_H_ZZ_llll_TH13=SigmaggF_H13*Br_HtoZZ*(Br_Ztoee+Br_Ztomumu)*(Br_Ztoee+Br_Ztomumu);
7902  VBF_H_ZZ_llll_TH13=SigmaVBF_H13*Br_HtoZZ*(Br_Ztoee+Br_Ztomumu)*(Br_Ztoee+Br_Ztomumu);
7903  pp_H_ZZ_llll_TH13=SigmaSumH13*Br_HtoZZ*(Br_Ztoee+Br_Ztomumu)*(Br_Ztoee+Br_Ztomumu);
7904  VBF_VH_H_ZZ_llll_TH13=(SigmaVBF_H13+SigmaVH_H13)*Br_HtoZZ*(Br_Ztoee+Br_Ztomumu)*(Br_Ztoee+Br_Ztomumu);
7907  ggF_VBF_H_WW_lnulnu_TH13=(SigmaggF_H13+SigmaVBF_H13)*Br_HtoWW*(Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu);
7915  pp_H_hh_bblnulnu_TH13=SigmaSumH13*Br_Htohh*5.77e-1*2.15e-1*(Br_Wtoenu+Br_Wtomunu)*(Br_Wtoenu+Br_Wtomunu)*2.0;/*SM BR assumed in the CMS analysis!*/
7916  pp_H_hh_bbVV_TH13=SigmaSumH13*Br_Htohh*2.0*THDM_BR_h_bb*(THDM_BR_h_WW*pow(Br_Wtoenu+Br_Wtomunu+Br_Wtotaunu*0.352,2)
7917  +THDM_BR_h_ZZ*2.0*Br_Ztoinv*(Br_Ztoee+Br_Ztomumu+Br_Ztotautau*0.124));
7921 
7922  //Ratios of theoretical Heavy Higgs cross sections and experimental upper limits at 13 TeV
7923 
7925  R_ttF_H_tt_ATLAS13=0.0;
7927  R_bbF_H_tt_ATLAS13=0.0;
7937  R_pp_H_gaga_ATLAS13=0.0;
7939  R_ggF_H_gaga_CMS13=0.0;
7941  R_pp_H_Zga_ATLAS13=0.0;
7949  R_ggF_H_Zga_CMS13=0.0;
8014  THoEX_pp_H_bb_CMS13=0.0;
8015  R_pp_H_bb_CMS13=0.0;
8016 
8017  //95% to 1 sigma conversion factor, roughly sqrt(3.84)
8018  double nftos=1.95996398454;
8019 
8020  if(mHh>=65.0 && mHh<90.0)
8021  {
8024  if(mA>=50.0 && mA<=1000.0)
8025  {
8028  }
8029  }
8030  else if(mHh>=90.0 && mHh<100.0)
8031  {
8042  if(mA>=50.0 && mA<=1000.0)
8043  {
8046  }
8047 
8052  }
8053  else if(mHh>=100.0 && mHh<130.0)
8054  {
8065  if(mA>=50.0 && mA<=1000.0)
8066  {
8069  }
8070 
8075  }
8076  else if(mHh>=130.0 && mHh<140.0)
8077  {
8090  if(mA>=50.0 && mA<=1000.0)
8091  {
8094  }
8095 
8104  }
8105  else if(mHh>=140.0 && mHh<145.0)
8106  {
8123  if(mA>=50.0 && mA<=1000.0)
8124  {
8127  }
8128 
8137  }
8138  else if(mHh>=145.0 && mHh<150.0)
8139  {
8158  if(mA>=50.0 && mA<=1000.0)
8159  {
8162  }
8163 
8172  }
8173  else if(mHh>=150.0 && mHh<175.0)
8174  {
8193  if(mA>=50.0 && mA<=1000.0)
8194  {
8197  }
8198 
8207  }
8208  else if(mHh>=175.0 && mHh<200.0)
8209  {
8228  if(mA>=40.0 && mA<=910.0)
8229  {
8232  }
8233  if(mA>=50.0 && mA<=1000.0)
8234  {
8237  }
8238 
8247  }
8248  else if(mHh>=200.0 && mHh<220.0)
8249  {
8272  if(mA>=40.0 && mA<=910.0)
8273  {
8276  }
8277  if(mA>=50.0 && mA<=1000.0)
8278  {
8281  }
8282 
8311  }
8312  else if(mHh>=220.0 && mHh<250.0)
8313  {
8336  if(mA>=40.0 && mA<=910.0)
8337  {
8340  }
8341  if(mA>=50.0 && mA<=1000.0)
8342  {
8345  }
8346 
8375  }
8376  else if(mHh>=250.0 && mHh<260.0)
8377  {
8390 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
8391 // LIMEST_ggF_H_gaga_CMS8=(ggF_H_gaga_TH8+ip_ex_gg_phi_gaga_CMS8_e(mHh)-ip_ex_gg_phi_gaga_CMS8(mHh))/ip_ex_gg_phi_gaga_CMS8_e(mHh) ;
8392 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
8393 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
8406  if(mA>=40.0 && mA<=910.0)
8407  {
8410  }
8411  if(mA>=50.0 && mA<=1000.0)
8412  {
8415  }
8416 
8455  }
8456  else if(mHh>=260.0 && mHh<270.0)
8457  {
8470 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
8471 // LIMEST_ggF_H_gaga_CMS8=0.0;
8472 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
8473 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
8492  if(mA>=40.0 && mA<=910.0)
8493  {
8496  }
8497  if(mA>=50.0 && mA<=1000.0)
8498  {
8501  }
8502 
8549  }
8550  else if(mHh>=270.0 && mHh<275.0)
8551  {
8564 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
8565 // LIMEST_ggF_H_gaga_CMS8=0.0;
8566 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
8567 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
8586  if(mA>=40.0 && mA<=910.0)
8587  {
8590  }
8591  if(mA>=50.0 && mA<=1000.0)
8592  {
8595  }
8596 
8643  }
8644  else if(mHh>=275.0 && mHh<300.0)
8645  {
8658 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
8659 // LIMEST_ggF_H_gaga_CMS8=0.0;
8660 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
8661 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
8682  if(mA>=40.0 && mA<=910.0)
8683  {
8686  }
8687  if(mA>=50.0 && mA<=1000.0)
8688  {
8691  }
8692 
8741  }
8742  else if(mHh>=300.0 && mHh<350.0)
8743  {
8756 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
8757 // LIMEST_ggF_H_gaga_CMS8=0.0;
8758 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
8759 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
8786  if(mA>=40.0 && mA<=910.0)
8787  {
8790  }
8791  if(mA>=50.0 && mA<=1000.0)
8792  {
8795  }
8796 
8867  }
8868  else if(mHh>=350.0 && mHh<400.0)
8869  {
8882 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
8883 // LIMEST_ggF_H_gaga_CMS8=0.0;
8884 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
8885 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
8910  if(mA>=40.0 && mA<=910.0)
8911  {
8914  }
8915  if(mA>=50.0 && mA<=1000.0)
8916  {
8919  }
8920 
8993  }
8994  else if(mHh>=400.0 && mHh<500.0)
8995  {
9008 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
9009 // LIMEST_ggF_H_gaga_CMS8=0.0;
9010 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
9011 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
9036  if(mA>=40.0 && mA<=910.0)
9037  {
9040  }
9041  if(mA>=50.0 && mA<=1000.0)
9042  {
9045  }
9046 
9121  }
9122  else if(mHh>=500.0 && mHh<550.0)
9123  {
9136 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
9137 // LIMEST_ggF_H_gaga_CMS8=0.0;
9138 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
9139 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
9164  if(mA>=40.0 && mA<=910.0)
9165  {
9168  }
9169  if(mA>=50.0 && mA<=1000.0)
9170  {
9173  }
9174 
9253  }
9254  else if(mHh>=550.0 && mHh<600.0)
9255  {
9268 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
9269 // LIMEST_ggF_H_gaga_CMS8=0.0;
9270 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
9271 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
9298  if(mA>=40.0 && mA<=910.0)
9299  {
9302  }
9303  if(mA>=50.0 && mA<=1000.0)
9304  {
9307  }
9308 
9389  }
9390  else if(mHh>=600.0 && mHh<650.0)
9391  {
9402 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
9403 // LIMEST_ggF_H_gaga_CMS8=0.0;
9404 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
9405 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
9430  if(mA>=40.0 && mA<=910.0)
9431  {
9434  }
9435  if(mA>=50.0 && mA<=1000.0)
9436  {
9439  }
9440 
9519  }
9520  else if(mHh>=650.0 && mHh<760.0)
9521  {
9532 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
9533 // LIMEST_ggF_H_gaga_CMS8=0.0;
9534 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
9535 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
9562  if(mA>=40.0 && mA<=910.0)
9563  {
9566  }
9567  if(mA>=50.0 && mA<=1000.0)
9568  {
9571  }
9572 
9653  }
9654  else if(mHh>=760.0 && mHh<850.0)
9655  {
9666 // LIMIT_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh);
9667 // LIMEST_ggF_H_gaga_CMS8=0.0;
9668 // DEVIATION_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8(mHh)-ip_ex_gg_phi_gaga_CMS8_e(mHh);
9669 // BANDSIZE_ggF_H_gaga_CMS8=ip_ex_gg_phi_gaga_CMS8_ep2(mHh)-ip_ex_gg_phi_gaga_CMS8_em2(mHh);
9696  if(mA>=40.0 && mA<=910.0)
9697  {
9700  }
9701  if(mA>=50.0 && mA<=1000.0)
9702  {
9705  }
9706 
9787  }
9788  else if(mHh>=850.0 && mHh<900.0)
9789  {
9824  if(mA>=40.0 && mA<=910.0)
9825  {
9828  }
9829  if(mA>=50.0 && mA<=1000.0)
9830  {
9833  }
9834 
9915  }
9916  else if(mHh>=900.0 && mHh<1000.0)
9917  {
9950  if(mA>=40.0 && mA<=910.0)
9951  {
9954  }
9955  if(mA>=50.0 && mA<=1000.0)
9956  {
9959  }
9960 
10031  }
10032  else if(mHh>=1000.0 && mHh<1100.0)
10033  {
10048 
10107  }
10108  else if(mHh>=1100.0 && mHh<1200.0)
10109  {
10120 
10179  }
10180  else if(mHh>=1200.0 && mHh<1500.0)
10181  {
10190 
10245  }
10246  else if(mHh>=1500.0 && mHh<1600.0)
10247  {
10252 
10307  }
10308  else if(mHh>=1600.0 && mHh<2000.0)
10309  {
10312 
10367  }
10368  else if(mHh>=2000.0 && mHh<2250.0)
10369  {
10372 
10423  }
10424  else if(mHh>=2250.0 && mHh<2400.0)
10425  {
10428 
10475  }
10476  else if(mHh>=2400.0 && mHh<2500.0)
10477  {
10480 
10525  }
10526  else if(mHh>=2500.0 && mHh<2530.0)
10527  {
10530 
10571  }
10572  else if(mHh>=2530.0 && mHh<2700.0)
10573  {
10576 
10613  }
10614  else if(mHh>=2700.0 && mHh<3000.0)
10615  {
10618 
10653  }
10654  else if(mHh>=3000.0 && mHh<3200.0)
10655  {
10666  }
10667  else if(mHh>=3200.0 && mHh<4000.0)
10668  {
10675  }
10676 }
10677 
10679 {
10680  double GF=1/(sqrt(2.0)*vev*vev);
10681  double mHh=sqrt(mHh2);
10682  double mA=sqrt(mA2);
10683  double sinb=tanb/sqrt(1.0+tanb*tanb);
10684  double cosb=1.0/sqrt(1.0+tanb*tanb);
10685  double mHp=sqrt(mHp2);
10686  double sin_ba=sin(bma);
10687  double cos_ba=cos(bma);
10688 
10689  //These cross sections ratios are necessary for rA_gg
10690  //gg -> A production cross section ratio at 8 TeV, top loop only over total
10691  double rSigmaggA_t8 = ip_csr_ggA_t_8(mA);
10692  //gg -> A production cross section ratio at 8 TeV, bottom loop only over total
10693  double rSigmaggA_b8 = ip_csr_ggA_b_8(mA);
10694 
10695  /* r_ii is the ratio between the squared 2HDM vertex coupling of the CP-odd
10696  * Higgs to the particle i and the corresponding coupling of the SM Higgs boson.*/
10697  double rA_QuQu=(cosb*cosb)/(sinb*sinb);
10698  double rA_QdQd=0.0;//It depends on the modelType
10699  double rA_ll=0.0;//It depends on the modelType
10700  rA_gg=0.0;//It depends on the modelType
10701 
10702  /*Calulation of rA_QdQd, rA_ll, rA_gg, Gamma_Agaga, Gamma_AZga, Gamma_Agg
10703  * (they depend on the model type): START*/
10704 
10705  /*Gamma_Agaga and Gamma_AZga expressions can be found in
10706  "The Higgs Hunter's Guide", Appendix C and in arXiv:0902.4665v3, Appendix A;
10707  *Gamma_Agg expression can be found in arXiv:0902.4665v3, Appendix A*/
10708 
10709  /*I_A_F is needed for Gamma_Agaga;
10710  * The expression can be found in "The Higgs Hunter's Guide", Appendix C, C.4*/
10711  gslpp::complex I_A_F=0.0;//It depends on the modelType
10712  gslpp::complex I_A_Ux=I_A_U(mA2,Mc,Mt);
10713  gslpp::complex I_A_Dx=I_A_D(mA2,Ms,Mb);
10714  gslpp::complex I_A_Lx=I_A_L(mA2,Mmu,Mtau);
10715 
10716  /*A_A_F is needed for Gamma_AZga*/
10717  /*The expression can be found in "The Higgs Hunter's Guide", Appendix C, C.12*/
10718  gslpp::complex A_A_F = 0.0;//It depends on the modelType
10719  gslpp::complex A_A_Ux = A_A_U(mA2,cW2,Mc,Mt,MZ);
10720  gslpp::complex A_A_Dx = A_A_D(mA2,cW2,Ms,Mb,MZ);
10721  gslpp::complex A_A_Lx = A_A_L(mA2,cW2,Mmu,Mtau,MZ);
10722 
10723  if( modelflag == "type1" ) {
10724  rA_gg=-cosb/sinb*cosb/sinb+2.0*cosb/sinb*cosb/sinb*(rSigmaggA_t8+rSigmaggA_b8);
10725  rA_QdQd=cosb/sinb*cosb/sinb;
10726  rA_ll=cosb/sinb*cosb/sinb;
10727  I_A_F=cosb/sinb*(I_A_Ux-I_A_Dx-I_A_Lx);
10728  A_A_F=cosb/sinb*(A_A_Ux-A_A_Dx-A_A_Lx);
10729  }
10730  else if( modelflag == "type2" ) {
10731  rA_gg= 1.0+(cosb/sinb-sinb/cosb)*(rSigmaggA_t8*cosb/sinb-rSigmaggA_b8*sinb/cosb);
10732  rA_QdQd=sinb/cosb*sinb/cosb;
10733  rA_ll=sinb/cosb*sinb/cosb;
10734  I_A_F=cosb/sinb*I_A_Ux+sinb/cosb*(I_A_Dx+I_A_Lx);
10735  A_A_F=cosb/sinb*A_A_Ux+sinb/cosb*(A_A_Dx+A_A_Lx);
10736  }
10737  else if( modelflag == "typeX" ) {
10738  rA_gg=-cosb/sinb*cosb/sinb+2.0*cosb/sinb*cosb/sinb*(rSigmaggA_t8+rSigmaggA_b8);
10739  rA_QdQd=cosb/sinb*cosb/sinb;
10740  rA_ll=sinb/cosb*sinb/cosb;
10741  I_A_F=cosb/sinb*(I_A_Ux-I_A_Dx)+sinb/cosb*I_A_Lx;
10742  A_A_F=cosb/sinb*(A_A_Ux-A_A_Dx)+sinb/cosb*A_A_Lx;
10743  }
10744  else if( modelflag == "typeY" ) {
10745  rA_gg=1.0+(cosb/sinb-sinb/cosb)*(rSigmaggA_t8*cosb/sinb-rSigmaggA_b8*sinb/cosb);
10746  rA_QdQd=sinb/cosb*sinb/cosb;
10747  rA_ll=cosb/sinb*cosb/sinb;
10748  I_A_F=cosb/sinb*(I_A_Ux-I_A_Lx)+sinb/cosb*I_A_Dx;
10749  A_A_F=cosb/sinb*(A_A_Ux-A_A_Lx)+sinb/cosb*A_A_Dx;
10750  }
10751  else {
10752  throw std::runtime_error("modelflag can be only any of \"type1\", \"type2\", \"typeX\" or \"typeY\"");
10753  }
10754 
10755  /*Gamma_Agaga expression can be found in in arXiv:0902.4665v3, Appendix A, A.8*/
10756  double Gamma_Agaga=GF*Ale*Ale*mA*mA*mA/(sqrt(2.0)*128.0*M_PI*M_PI*M_PI)
10757  *(I_A_F).abs2();
10758  /*Gamma_AZga expression can be found in in arXiv:0902.4665v3, Appendix A, A.9*/
10759  Gamma_AZga=HSTheta(mA-MZ)*GF*Ale*Ale*mA*mA*mA/(sqrt(2.0)*64.0*M_PI*M_PI*M_PI)
10760  *(1.0-MZ*MZ/(mA*mA))*(1.0-MZ*MZ/(mA*mA))*(1.0-MZ*MZ/(mA*mA))
10761  *(A_A_F).abs2();
10762  /*Gamma_Agg expression can be found in in arXiv:0902.4665v3, Appendix A, A.10*/
10763  double Gamma_Agg=rA_gg*GF*Als*Als*mA*mA*mA/(sqrt(2.0)*16.0*M_PI*M_PI*M_PI)
10764  *(9.0/4.0)*(I_A_Ux/4.0+I_A_Dx).abs2();
10765 
10766  /*Calulation of rA_QdQd, rA_ll, rA_gg, Gamma_Agaga, Gamma_AZga, Gamma_Agg: END*/
10767 
10769  double SigmattF_A8=ip_cs_pptottA_8(mA)*rA_QuQu;
10770  SigmabbF_A8=ip_cs_pptobbA_8(mA)*rA_QdQd;
10771  SigmaSumA8 = SigmaggF_A8 + SigmattF_A8 + SigmabbF_A8;
10772 
10774  SigmattF_A13=ip_cs_pptottA_13(mA)*rA_QuQu;
10775  SigmabbF_A13=ip_cs_pptobbA_13(mA)*rA_QdQd;
10777 
10778  double BrSM_Atocc=ip_Br_HPtocc(mA);
10779  double BrSM_Atobb=ip_Br_HPtobb(mA);
10780  double BrSM_Atott=ip_Br_HPtott(mA);
10781  double BrSM_Atomumu=ip_Br_HPtomumu(mA);
10782  double BrSM_Atotautau=ip_Br_HPtotautau(mA);
10783 
10784  double GammaAtotSM=ip_GammaHPtotSM(mA);
10785 
10786  double GammaAHZ=HSTheta(mA-MZ-mHh)*pow(KaellenFunction(mA2,MZ*MZ,mHh*mHh),3)
10787  *sin_ba*sin_ba/(2.0*M_PI*vev*vev);
10788 
10789  double GammaAhZ=HSTheta(mA-MZ-sqrt(mHl2))*pow(KaellenFunction(mA2,MZ*MZ,mHl2),3)
10790  *cos_ba*cos_ba/(2.0*M_PI*vev*vev);
10791 
10792  double GammaAHpW=2.*HSTheta(mA-MW-mHp)*pow(KaellenFunction(mA2,MW*MW,mHp*mHp),3)
10793  /(2.0*M_PI*vev*vev);
10794 
10795  GammaAtot= ((BrSM_Atott+BrSM_Atocc)*rA_QuQu
10796  +BrSM_Atobb*rA_QdQd
10797  +(BrSM_Atotautau+BrSM_Atomumu)*rA_ll)*GammaAtotSM
10798  +Gamma_Agaga+Gamma_AZga+Gamma_Agg+GammaAHZ+GammaAhZ+GammaAHpW;
10799 
10800  Br_Atott=BrSM_Atott*rA_QuQu*GammaAtotSM/GammaAtot;
10801  Br_Atobb=BrSM_Atobb*rA_QdQd*GammaAtotSM/GammaAtot;
10802  Br_Atotautau=BrSM_Atotautau*rA_ll*GammaAtotSM/GammaAtot;
10803  Br_Atogaga=Gamma_Agaga/GammaAtot;
10804  Br_AtoHZ=GammaAHZ/GammaAtot;
10805  Br_AtohZ=GammaAhZ/GammaAtot;
10806  Br_AtoHpW=GammaAHpW/GammaAtot;
10807 }
10808 
10810 {
10811  double mHh=sqrt(mHh2);
10812  double mA=sqrt(mA2);
10813 
10814  double Br_Ztoee=0.03363; //K.A. Olive et al. (Particle Data Group), Chin. Phys. C38, 090001 (2014)
10815  double Br_Ztomumu=0.03366; //K.A. Olive et al. (Particle Data Group), Chin. Phys. C38, 090001 (2014)
10816 
10817  //Theoretical expressions for the CP-odd Higgs cross sections times branching ratios at 8 TeV
10818 
10823  pp_A_Zga_llga_TH8=SigmaSumA8*Gamma_AZga/GammaAtot*(Br_Ztoee+Br_Ztomumu);
10824  ggF_A_hZ_bbll_TH8=SigmaggF_A8*Br_AtohZ*THDM_BR_h_bb*(Br_Ztoee+Br_Ztomumu);
10830  pp_A_HZ_bbll_TH8=SigmaSumA8*Br_AtoHZ*Br_Htobb*(Br_Ztoee+Br_Ztomumu);
10831  pp_A_HZ_tautaull_TH8=SigmaSumA8*Br_AtoHZ*Br_Htotautau*(Br_Ztoee+Br_Ztomumu);
10832 
10833  //Ratios of theoretical CP-odd Higgs cross sections and experimental upper limits at 8 TeV
10834 
10838  R_ggF_A_tautau_CMS8=0.0;
10842  R_bbF_A_tautau_CMS8=0.0;
10844  R_pp_A_gaga_ATLAS8=0.0;
10846  R_ggF_A_gaga_CMS8=0.0;
10858  R_ggF_A_tt_ATLAS8=0.0;
10859  THoEX_bbF_A_bb_CMS8=0.0;
10860  R_bbF_A_bb_CMS8=0.0;
10862  R_pp_A_HZ_bbll_CMS8=0.0;
10865 
10866  //Theoretical expressions for the CP-odd Higgs cross sections times branching ratios at 13 TeV
10867 
10879 
10880  //Ratios of theoretical CP-odd Higgs cross sections and experimental upper limits at 13 TeV
10881 
10883  R_ttF_A_tt_ATLAS13=0.0;
10885  R_bbF_A_tt_ATLAS13=0.0;
10895  R_pp_A_gaga_ATLAS13=0.0;
10897  R_ggF_A_gaga_CMS13=0.0;
10907  R_ggF_A_Zga_CMS13=0.0;
10912  THoEX_pp_A_bb_CMS13=0.0;
10913  R_pp_A_bb_CMS13=0.0;
10914 
10915  //95% to 1 sigma conversion factor, roughly sqrt(3.84)
10916  double nftos=1.95996398454;
10917 
10918  if(mA>=65.0 && mA<90.0)
10919  {
10922  if(mHh>=50.0 && mHh<=1000.0)
10923  {
10926  }
10927  }
10928  else if(mA>=90.0 && mA<100.0)
10929  {
10940  if(mHh>=50.0 && mHh<=1000.0)
10941  {
10944  }
10945 
10950  }
10951  else if(mA>=100.0 && mA<150.0)
10952  {
10965  if(mHh>=50.0 && mHh<=1000.0)
10966  {
10969  }
10970 
10975  }
10976  else if(mA>=150.0 && mA<175.0)
10977  {
10992  if(mHh>=50.0 && mHh<=1000.0)
10993  {
10996  }
10997 
11002  }
11003  else if(mA>=175.0 && mA<200.0)
11004  {
11019  if(mHh>=50.0 && mHh<=910.0)
11020  {
11023  }
11024  if(mHh>=50.0 && mHh<=1000.0)
11025  {
11028  }
11029 
11034  }
11035  else if(mA>=200.0 && mA<220.0)
11036  {
11055  if(mHh>=50.0 && mHh<=910.0)
11056  {
11059  }
11060  if(mHh>=50.0 && mHh<=1000.0)
11061  {
11064  }
11065 
11080  }
11081  else if(mA>=220.0 && mA<225.0)
11082  {
11107  if(mHh>=50.0 && mHh<=910.0)
11108  {
11111  }
11112  if(mHh>=50.0 && mHh<=1000.0)
11113  {
11116  }
11117 
11132  }
11133  else if(mA>=225.0 && mA<250.0)
11134  {
11161  if(mHh>=50.0 && mHh<=910.0)
11162  {
11165  }
11166  if(mHh>=50.0 && mHh<=1000.0)
11167  {
11170  }
11171 
11186  }
11187  else if(mA>=250.0 && mA<300.0)
11188  {
11215  if(mHh>=50.0 && mHh<=910.0)
11216  {
11219  }
11220  if(mHh>=50.0 && mHh<=1000.0)
11221  {
11224  }
11225 
11244  }
11245  else if(mA>=300.0 && mA<350.0)
11246  {
11273  if(mHh>=50.0 && mHh<=910.0)
11274  {
11277  }
11278  if(mHh>=50.0 && mHh<=1000.0)
11279  {
11282  }
11283 
11304  }
11305  else if(mA>=350.0 && mA<400.0)
11306  {
11331  if(mHh>=50.0 && mHh<=910.0)
11332  {
11335  }
11336  if(mHh>=50.0 && mHh<=1000.0)
11337  {
11340  }
11341 
11364  }
11365  else if(mA>=400.0 && mA<500.0)
11366  {
11393  if(mHh>=50.0 && mHh<=910.0)
11394  {
11397  }
11398  if(mHh>=50.0 && mHh<=1000.0)
11399  {
11402  }
11403 
11430  }
11431  else if(mA>=500.0 && mA<550.0)
11432  {
11459  if(mHh>=50.0 && mHh<=910.0)
11460  {
11463  }
11464  if(mHh>=50.0 && mHh<=1000.0)
11465  {
11468  }
11469 
11498  }
11499  else if(mA>=550.0 && mA<600.0)
11500  {
11527  if(mHh>=50.0 && mHh<=910.0)
11528  {
11531  }
11532  if(mHh>=50.0 && mHh<=1000.0)
11533  {
11536  }
11537 
11568  }
11569  else if(mA>=600.0 && mA<650.0)
11570  {
11593  if(mHh>=50.0 && mHh<=910.0)
11594  {
11597  }
11598  if(mHh>=50.0 && mHh<=1000.0)
11599  {
11602  }
11603 
11634  }
11635  else if(mA>=650.0 && mA<850.0)
11636  {
11659  if(mHh>=50.0 && mHh<=910.0)
11660  {
11663  }
11664  if(mHh>=50.0 && mHh<=1000.0)
11665  {
11668  }
11669 
11702  }
11703  else if(mA>=850.0 && mA<900.0)
11704  {
11725  if(mHh>=50.0 && mHh<=910.0)
11726  {
11729  }
11730  if(mHh>=50.0 && mHh<=1000.0)
11731  {
11734  }
11735 
11768  }
11769  else if(mA>=900.0 && mA<1000.0)
11770  {
11789  if(mHh>=50.0 && mHh<=910.0)
11790  {
11793  }
11794  if(mHh>=50.0 && mHh<=1000.0)
11795  {
11798  }
11799 
11832  }
11833  else if(mA>=1000.0 && mA<1200.0)
11834  {
11841 
11870  }
11871  else if(mA>=1200.0 && mA<1600.0)
11872  {
11877 
11904  }
11905  else if(mA>=1600.0 && mA<2000.0)
11906  {
11909 
11936  }
11937  else if(mA>=2000.0 && mA<2250.0)
11938  {
11941 
11962  }
11963  else if(mA>=2250.0 && mA<2400.0)
11964  {
11967 
11984  }
11985  else if(mA>=2400.0 && mA<2500.0)
11986  {
11989 
12004  }
12005  else if(mA>=2500.0 && mA<2700.0)
12006  {
12009 
12022  }
12023  else if(mA>=2700.0 && mA<3000.0)
12024  {
12027 
12038  }
12039  else if(mA>=3000.0 && mA<3200.0)
12040  {
12049  }
12050  else if(mA>=3200.0 && mA<4000.0)
12051  {
12056  }
12057 }
12058 
12060 {
12061  double MW2=MW*MW;
12062  double mHh=sqrt(mHh2);
12063  double mA=sqrt(mA2);
12064  double mHp=sqrt(mHp2);
12065  double Mt2=Mt*Mt;
12066  double Mb2=Mb*Mb;
12067  double Mtau2=Mtau*Mtau;
12068  double Vtb=myTHDM->getCKM().getV_tb().abs();
12069  double gHpt=-1.0/tanb;
12070  double gHpb=0.0;
12071  double gHptau=0.0;
12072  double vev2=vev*vev;
12073 
12074  double SigmaHp8=0.0;
12075  double SigmaHp13=0.0;
12076 
12077  if( modelflag == "type1" ) {
12078  SigmaHp8=ip_cs_ggtoHp_8(mHp,0.0)/(tanb*tanb);
12079  SigmaHp13=ip_cs_ggtoHp_13(mHp,0.0)/(tanb*tanb);
12080  gHpb=1.0/tanb;
12081  gHptau=1.0/tanb;
12082  }
12083  else if( modelflag == "type2" ) {
12084  if(logtb>=-1.0 && logtb<=1.75)
12085  {
12086  SigmaHp8=ip_cs_ggtoHp_8(mHp,logtb);
12087  SigmaHp13=ip_cs_ggtoHp_13(mHp,logtb);
12088  }
12089  gHpb=-tanb;
12090  gHptau=-tanb;
12091  }
12092  else if( modelflag == "typeX" ) {
12093  SigmaHp8=ip_cs_ggtoHp_8(mHp,0.0)/(tanb*tanb);
12094  SigmaHp13=ip_cs_ggtoHp_13(mHp,0.0)/(tanb*tanb);
12095  gHpb=1.0/tanb;
12096  gHptau=-tanb;
12097  }
12098  else if( modelflag == "typeY" ) {
12099  if(logtb>=-1.0 && logtb<=1.75)
12100  {
12101  SigmaHp8=ip_cs_ggtoHp_8(mHp,logtb);
12102  SigmaHp13=ip_cs_ggtoHp_13(mHp,logtb);
12103  }
12104  gHpb=-tanb;
12105  gHptau=1.0/tanb;
12106  }
12107  else {
12108  throw std::runtime_error("modelflag can be only any of \"type1\", \"type2\", \"typeX\" or \"typeY\"");
12109  }
12110 
12111  double GammaHptaunu=HSTheta(mHp-Mtau)*(Mtau2*(mHp2-Mtau2)*(mHp2-Mtau2)*gHptau*gHptau)/(8.0*mHp*mHp2*M_PI*vev2);
12112  double GammaHptb=HSTheta(mHp-Mt-Mb)*(Vtb*Vtb/(8.0*mHp*M_PI*vev2))*3.0*(-4.0*gHpb*gHpt*Mb2*Mt2
12113  -gHpb*gHpb*Mb2*(Mb2-mHp2+Mt2)-gHpt*gHpt*Mt2*(Mb2-mHp2+Mt2))
12114  *sqrt((Mb2*Mb2+(mHp2-Mt2)*(mHp2-Mt2)-2.0*Mb2*(mHp2+Mt2))/(mHp2*mHp2));
12115  double GammaHpHlW=KaellenFunction(1.0,mHl/mHp,MW/mHp)*KaellenFunction(1.0,mHp/MW,mHl/MW)*KaellenFunction(1.0,mHp/MW,mHl/MW)
12116  *MW2*MW2/mHp*cos(bma)*cos(bma)/(2.0*M_PI*vev2);
12117  double GammaHpHhW=KaellenFunction(1.0,mHh/mHp,MW/mHp)*KaellenFunction(1.0,mHp/MW,mHh/MW)*KaellenFunction(1.0,mHp/MW,mHh/MW)
12118  *MW2*MW2/mHp*sin(bma)*sin(bma)/(2.0*M_PI*vev2);
12119  double GammaHpAW=KaellenFunction(1.0,mA/mHp,MW/mHp)*KaellenFunction(1.0,mHp/MW,mA/MW)*KaellenFunction(1.0,mHp/MW,mA/MW)
12120  *MW2*MW2/mHp/(2.0*M_PI*vev2);
12121  GammaHptot= GammaHptaunu + GammaHptb + GammaHpHlW + GammaHpHhW + GammaHpAW;
12122 
12123  double Br_Hptotaunu=GammaHptaunu/GammaHptot;
12124  double Br_Hptotb=GammaHptb/GammaHptot;
12125 
12126  //Theoretical expressions for the charged Higgs cross sections times branching ratios
12127 
12128  pp_Hpm_taunu_TH8=2.0*SigmaHp8*Br_Hptotaunu;
12129  pp_Hp_taunu_TH8=SigmaHp8*Br_Hptotaunu;
12130  pp_Hpm_tb_TH8=2.0*SigmaHp8*Br_Hptotb;
12131  pp_Hp_tb_TH8=SigmaHp8*Br_Hptotb;
12132  pp_Hpm_taunu_TH13=2.0*SigmaHp13*Br_Hptotaunu;
12133  pp_Hp_tb_TH13=SigmaHp13*Br_Hptotb;
12134 
12135  //Ratios of theoretical Heavy Higgs cross sections and experimental upper limits
12136 
12140  R_pp_Hp_taunu_CMS8=0.0;
12142  R_pp_Hpm_tb_ATLAS8=0.0;
12143  THoEX_pp_Hp_tb_CMS8=0.0;
12144  R_pp_Hp_tb_CMS8=0.0;
12154  R_pp_Hp_tb_ATLAS13=0.0;
12155 
12156  //95% to 1 sigma conversion factor, roughly sqrt(3.84)
12157  double nftos=1.95996398454;
12158 
12159  if(mHp>=180.0 && mHp<200.0)
12160  {
12167 
12170  }
12171  else if(mHp>=200.0 && mHp<300.0)
12172  {
12181 
12190  }
12191  else if(mHp>=300.0 && mHp<600.0)
12192  {
12201 
12212  }
12213  else if(mHp>=600.0 && mHp<1000.0)
12214  {
12217 
12228  }
12229  else if(mHp>=1000.0 && mHp<1400.0)
12230  {
12239  }
12240  else if(mHp>=1400.0 && mHp<2000.0)
12241  {
12250  }
12251 }
12252 
12254 {
12255  vev=myTHDM->v();
12256  double cosb=myTHDM->getcosb();
12257  double sinb=myTHDM->getsinb();
12259  std::string RGEorder=myTHDM->getRGEorderflag();
12260  //flag will be used to transport information about model and RGEorder to the Runner:
12261  //flag=3*(0 for type I, 1 for type II, 2 for type X and 3 for type Y) + (0 for LO, 1 for approxNLO and 2 for NLO)
12262  int flag;
12263  if( RGEorder == "LO" ) flag=0;
12264  else if( RGEorder == "approxNLO" ) flag=1;
12265  else if( RGEorder == "NLO" ) flag=2;
12266  else {
12267  throw std::runtime_error("RGEorder can be only any of \"LO\", \"approxNLO\" or \"NLO\"");
12268  }
12269 
12270  double g1_at_MZ=sqrt(4.0*M_PI*Ale/cW2);
12271  double g2_at_MZ=sqrt(4.0*M_PI*Ale/(1-cW2));
12272  double g3_at_MZ=sqrt(4.0*M_PI*Als);
12273 
12274  double Ytop_at_MZ=(sqrt(2.0)*myTHDM->getQuarks(QCD::TOP).getMass())/(vev*sinb);
12275  double Ybottom1_at_MZ=0.0;
12276  double Ybottom2_at_MZ=0.0;
12277  double Ytau1_at_MZ=0.0;
12278  double Ytau2_at_MZ=0.0;
12279 
12280  /*link these to the SM values*/
12281  double Mb_at_MZ=2.96;//GeV
12282  double Mtau_at_MZ=1.75;//GeV
12283 
12284  if( modelflag == "type1" ) {
12285  Ybottom2_at_MZ=(sqrt(2.0)*Mb_at_MZ)/(vev*sinb);
12286  Ytau2_at_MZ=(sqrt(2.0)*Mtau_at_MZ)/(vev*sinb);
12287  }
12288  else if( modelflag == "type2" ) {
12289  Ybottom1_at_MZ=(sqrt(2.0)*Mb_at_MZ)/(vev*cosb);
12290  Ytau1_at_MZ=(sqrt(2.0)*Mtau_at_MZ)/(vev*cosb);
12291  flag +=3;
12292  }
12293  else if( modelflag == "typeX" ) {
12294  Ybottom2_at_MZ=(sqrt(2.0)*Mb_at_MZ)/(vev*sinb);
12295  Ytau1_at_MZ=(sqrt(2.0)*Mtau_at_MZ)/(vev*cosb);
12296  flag +=6;
12297  }
12298  else if( modelflag == "typeY" ) {
12299  Ybottom1_at_MZ=(sqrt(2.0)*Mb_at_MZ)/(vev*cosb);
12300  Ytau2_at_MZ=(sqrt(2.0)*Mtau_at_MZ)/(vev*sinb);
12301  flag +=9;
12302  }
12303  else {
12304  throw std::runtime_error("modelflag can be only any of \"type1\", \"type2\", \"typeX\" or \"typeY\"");
12305  }
12306 
12307  double m11_2_at_MZ=mym11_2->computeThValue();
12308  double m22_2_at_MZ=mym22_2->computeThValue();
12309  double m12_2_at_MZ=myTHDM->getm12_2();
12310  double lambda1_at_MZ=mylambda1->computeThValue();
12311  double lambda2_at_MZ=mylambda2->computeThValue();
12312  double lambda3_at_MZ=mylambda3->computeThValue();
12313  double lambda4_at_MZ=mylambda4->computeThValue();
12314  double lambda5_at_MZ=mylambda5->computeThValue();
12315 
12316  double Rpeps=myTHDM->getRpeps();
12317  double NLOuniscale=myTHDM->getNLOuniscale();
12318 
12319  if(fabs(Q_THDM-log10(MZ))<0.005) //at MZ scale
12320  {
12321  Q_cutoff=log10(MZ);
12322 
12323  g1_at_Q = g1_at_MZ;
12324  g2_at_Q = g2_at_MZ;
12325  g3_at_Q = g3_at_MZ;
12326  Ytop_at_Q = Ytop_at_MZ;
12327  Ybottom1_at_Q = Ybottom1_at_MZ;
12328  Ybottom2_at_Q = Ybottom2_at_MZ;
12329  Ytau1_at_Q = Ytau1_at_MZ;
12330  Ytau2_at_Q = Ytau2_at_MZ;
12331  m11_2_at_Q = m11_2_at_MZ;
12332  m22_2_at_Q = m22_2_at_MZ;
12333  m12_2_at_Q = m12_2_at_MZ;
12334  lambda1_at_Q = lambda1_at_MZ;
12335  lambda2_at_Q = lambda2_at_MZ;
12336  lambda3_at_Q = lambda3_at_MZ;
12337  lambda4_at_Q = lambda4_at_MZ;
12338  lambda5_at_Q = lambda5_at_MZ;
12339  }
12340  else //at some other scale
12341  {
12342  double InitVals[14];
12343  InitVals[0]=g1_at_MZ;
12344  InitVals[1]=g2_at_MZ;
12345  InitVals[2]=g3_at_MZ;
12346  InitVals[3]=Ytop_at_MZ;
12347  InitVals[4]=Ybottom1_at_MZ+Ybottom2_at_MZ;
12348  InitVals[5]=Ytau1_at_MZ+Ytau2_at_MZ;
12349  InitVals[6]=m11_2_at_MZ;
12350  InitVals[7]=m22_2_at_MZ;
12351  InitVals[8]=m12_2_at_MZ;
12352  InitVals[9]=lambda1_at_MZ;
12353  InitVals[10]=lambda2_at_MZ;
12354  InitVals[11]=lambda3_at_MZ;
12355  InitVals[12]=lambda4_at_MZ;
12356  InitVals[13]=lambda5_at_MZ;
12357 
12358  Q_cutoff=myRunner->RGERunner(InitVals, 14, log10(MZ), Q_THDM, flag, Rpeps, NLOuniscale); //Running up to Q_cutoff<=Q_THDM
12359 
12360  g1_at_Q = InitVals[0];
12361  g2_at_Q = InitVals[1];
12362  g3_at_Q = InitVals[2];
12363  Ytop_at_Q = InitVals[3];
12364  Ybottom1_at_Q = 0.0;
12365  Ybottom2_at_Q = 0.0;
12366  Ytau1_at_Q = 0.0;
12367  Ytau2_at_Q = 0.0;
12368  if( modelflag == "type1" ) {
12369  Ybottom2_at_Q=InitVals[4];
12370  Ytau2_at_Q=InitVals[5];
12371  }
12372  else if( modelflag == "type2" ) {
12373  Ybottom1_at_Q=InitVals[4];
12374  Ytau1_at_Q=InitVals[5];
12375  }
12376  else if( modelflag == "typeX" ) {
12377  Ybottom2_at_Q=InitVals[4];
12378  Ytau1_at_Q=InitVals[5];
12379  }
12380  else if( modelflag == "typeY" ) {
12381  Ybottom1_at_Q=InitVals[4];
12382  Ytau2_at_Q=InitVals[5];
12383  }
12384  else {
12385  throw std::runtime_error("modelflag can be only any of \"type1\", \"type2\", \"typeX\" or \"typeY\"");
12386  }
12387  m11_2_at_Q = InitVals[6];
12388  m22_2_at_Q = InitVals[7];
12389  m12_2_at_Q = InitVals[8];
12390  lambda1_at_Q = InitVals[9];
12391  lambda2_at_Q = InitVals[10];
12392  lambda3_at_Q = InitVals[11];
12393  lambda4_at_Q = InitVals[12];
12394  lambda5_at_Q = InitVals[13];
12395  //Possibility to hard code lambda inputs for the unitarity bounds
12396  }
12397 
12398  if( UnitarityTestflag==true ) {
12399  std::cout << "\n \t Warning: UnitarityTestflag is switched on.\n \t All lambda's are hard coded in this mode!\n" << std::endl;
12400 // g1_at_Q = 0.0;
12401 // g2_at_Q = 0.0;
12402 // g3_at_Q = 0.0;
12403 // Ytop_at_Q = 0.0;
12404 // Ybottom1_at_Q = 0.0;
12405 // Ybottom2_at_Q = 0.0;
12406 // Ytau1_at_Q = 0.0;
12407 // Ytau2_at_Q = 0.0;
12408 // m11_2_at_Q = 0.0;
12409 // m22_2_at_Q = 0.0;
12410 // m12_2_at_Q = 0.0;
12411  lambda1_at_Q = 0.1;
12412  lambda2_at_Q = 0.1;
12413  lambda3_at_Q = 3.0;
12414  lambda4_at_Q = -4.0;
12415  lambda5_at_Q = 0.1;
12416  }
12417 
12418 }
12419 
12421 {
12422  double WFRcomb1a = 0.0;
12423  double WFRcomb1b = 0.0;
12424  double WFRcomb2a = 0.0;
12425  double WFRcomb3a = 0.0;
12426  double WFRcomb3b = 0.0;
12427  double WFRcomb4a = 0.0;
12428 
12429  if(WFRflag)
12430  {
12431  double sinb=myTHDM->getsinb();
12432  double cosb=myTHDM->getcosb();
12433  double beta=atan(tanb);
12434  double alpha=beta-bma;
12435  double MZ2=MZ*MZ;
12436 
12437  double B000mh = B0_MZ2_0_0_mHl2(MZ2,mHl2).real();
12438  double B000mH = B0_MZ2_0_0_mHh2(MZ2,mHh2).real();
12439  double B00mHpmh = B0_MZ2_0_mHp2_mHl2(MZ2,mHp2,mHl2).real();
12440  double B00mHpmH = B0_MZ2_0_mHp2_mHh2(MZ2,mHp2,mHh2).real();
12441  double B00mAmh = B0_MZ2_0_mA2_mHl2(MZ2,mA2,mHl2).real();
12442  double B00mAmH = B0_MZ2_0_mA2_mHh2(MZ2,mA2,mHh2).real();
12443  double B0mh00 = B0_MZ2_mHl2_0_0(MZ2,mHl2).real();
12444  double B0mh0mHp = B0_MZ2_mHl2_0_mHp2(MZ2,mHl2,mHp2).real();
12445  double B0mh0mA = B0_MZ2_mHl2_0_mA2(MZ2,mHl2,mA2).real();
12446  double B0mhmhmh = B0_MZ2_mHl2_mHl2_mHl2(MZ2,mHl2).real();
12447  double B0mhmHmh = B0_MZ2_mHl2_mHh2_mHl2(MZ2,mHl2,mHh2).real();
12448  double B0mhmHmH = B0_MZ2_mHl2_mHh2_mHh2(MZ2,mHl2,mHh2).real();
12449  double B0mhmHpmHp = B0_MZ2_mHl2_mHp2_mHp2(MZ2,mHl2,mHp2).real();
12450  double B0mhmAmA = B0_MZ2_mHl2_mA2_mA2(MZ2,mHl2,mA2).real();
12451  double B0mH00 = B0_MZ2_mHh2_0_0(MZ2,mHh2).real();
12452  double B0mH0mHp = B0_MZ2_mHh2_0_mHp2(MZ2,mHh2,mHp2).real();
12453  double B0mH0mA = B0_MZ2_mHh2_0_mA2(MZ2,mHh2,mA2).real();
12454  double B0mHmhmh = B0_MZ2_mHh2_mHl2_mHl2(MZ2,mHh2,mHl2).real();
12455  double B0mHmHmh = B0_MZ2_mHh2_mHh2_mHl2(MZ2,mHh2,mHl2).real();
12456  double B0mHmHmH = B0_MZ2_mHh2_mHh2_mHh2(MZ2,mHh2).real();
12457  double B0mHmHpmHp = B0_MZ2_mHh2_mHp2_mHp2(MZ2,mHh2,mHp2).real();
12458  double B0mHmAmA = B0_MZ2_mHh2_mA2_mA2(MZ2,mHh2,mA2).real();
12459  double B0mHp0mh = B0_MZ2_mHp2_0_mHl2(MZ2,mHp2,mHl2).real();
12460  double B0mHp0mH = B0_MZ2_mHp2_0_mHh2(MZ2,mHp2,mHh2).real();
12461  double B0mHpmHpmh = B0_MZ2_mHp2_mHp2_mHl2(MZ2,mHp2,mHl2).real();
12462  double B0mHpmHpmH = B0_MZ2_mHp2_mHp2_mHh2(MZ2,mHp2,mHh2).real();
12463  double B0mA0mh = B0_MZ2_mA2_0_mHl2(MZ2,mA2,mHl2).real();
12464  double B0mA0mH = B0_MZ2_mA2_0_mHh2(MZ2,mA2,mHh2).real();
12465  double B0mAmAmh = B0_MZ2_mA2_mA2_mHl2(MZ2,mA2,mHl2).real();
12466  double B0mAmAmH = B0_MZ2_mA2_mA2_mHh2(MZ2,mA2,mHh2).real();
12467 
12468  double ddpB000mh = B0p_MZ2_0_0_mHl2(MZ2,mHl2).real();
12469  double ddpB000mH = B0p_MZ2_0_0_mHh2(MZ2,mHh2).real();
12470  double ddpB00mHpmh = B0p_MZ2_0_mHp2_mHl2(MZ2,mHp2,mHl2).real();
12471  double ddpB00mHpmH = B0p_MZ2_0_mHp2_mHh2(MZ2,mHp2,mHh2).real();
12472  double ddpB00mHpmA = B0p_MZ2_0_mHp2_mA2(MZ2,mHp2,mA2).real();
12473  double ddpB00mAmh = B0p_MZ2_0_mA2_mHl2(MZ2,mA2,mHl2).real();
12474  double ddpB00mAmH = B0p_MZ2_0_mA2_mHh2(MZ2,mA2,mHh2).real();
12475  double ddpB0mh00 = B0p_MZ2_mHl2_0_0(MZ2,mHl2).real();
12476  double ddpB0mh0mHp = B0p_MZ2_mHl2_0_mHp2(MZ2,mHl2,mHp2).real();
12477  double ddpB0mh0mA = B0p_MZ2_mHl2_0_mA2(MZ2,mHl2,mA2).real();
12478  double ddpB0mhmhmh = B0p_MZ2_mHl2_mHl2_mHl2(MZ2,mHl2).real();
12479  double ddpB0mhmHmh = B0p_MZ2_mHl2_mHh2_mHl2(MZ2,mHl2,mHh2).real();
12480  double ddpB0mhmHmH = B0p_MZ2_mHl2_mHh2_mHh2(MZ2,mHl2,mHh2).real();
12481  double ddpB0mhmHpmHp = B0p_MZ2_mHl2_mHp2_mHp2(MZ2,mHl2,mHp2).real();
12482  double ddpB0mhmAmA = B0p_MZ2_mHl2_mA2_mA2(MZ2,mHl2,mA2).real();
12483  double ddpB0mH00 = B0p_MZ2_mHh2_0_0(MZ2,mHh2).real();
12484  double ddpB0mH0mHp = B0p_MZ2_mHh2_0_mHp2(MZ2,mHh2,mHp2).real();
12485  double ddpB0mH0mA = B0p_MZ2_mHh2_0_mA2(MZ2,mHh2,mA2).real();
12486  double ddpB0mHmhmh = B0p_MZ2_mHh2_mHl2_mHl2(MZ2,mHh2,mHl2).real();
12487  double ddpB0mHmHmh = B0p_MZ2_mHh2_mHh2_mHl2(MZ2,mHh2,mHl2).real();
12488  double ddpB0mHmHmH = B0p_MZ2_mHh2_mHh2_mHh2(MZ2,mHh2).real();
12489  double ddpB0mHmHpmHp = B0p_MZ2_mHh2_mHp2_mHp2(MZ2,mHh2,mHp2).real();
12490  double ddpB0mHmAmA = B0p_MZ2_mHh2_mA2_mA2(MZ2,mHh2,mA2).real();
12491  double ddpB0mHp0mh = B0p_MZ2_mHp2_0_mHl2(MZ2,mHp2,mHl2).real();
12492  double ddpB0mHp0mH = B0p_MZ2_mHp2_0_mHh2(MZ2,mHp2,mHh2).real();
12493  double ddpB0mHp0mA = B0p_MZ2_mHp2_0_mA2(MZ2,mHp2,mA2).real();
12494  double ddpB0mHpmHpmh = B0p_MZ2_mHp2_mHp2_mHl2(MZ2,mHp2,mHl2).real();
12495  double ddpB0mHpmHpmH = B0p_MZ2_mHp2_mHp2_mHh2(MZ2,mHp2,mHh2).real();
12496  double ddpB0mA0mh = B0p_MZ2_mA2_0_mHl2(MZ2,mA2,mHl2).real();
12497  double ddpB0mA0mH = B0p_MZ2_mA2_0_mHh2(MZ2,mA2,mHh2).real();
12498  double ddpB0mA0mHp = B0p_MZ2_mA2_0_mHp2(MZ2,mA2,mHp2).real();
12499  double ddpB0mAmAmh = B0p_MZ2_mA2_mA2_mHl2(MZ2,mA2,mHl2).real();
12500  double ddpB0mAmAmH = B0p_MZ2_mA2_mA2_mHh2(MZ2,mA2,mHh2).real();
12501 
12502  WFRcomb1a = 3.0*mHl2*mHl2*cosb*cosb*sin(bma)*sin(bma) * ddpB000mh
12503  + 3.0*mHh2*mHh2*cos(bma)*cos(bma)*cosb*cosb * ddpB000mH
12504  + 2.0*(mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma)*cosb*cosb * ddpB00mHpmh
12505  + 2.0*(mHh2-mHp2)*(mHh2-mHp2)*sin(bma)*sin(bma)*cosb*cosb * ddpB00mHpmH
12506  + 2.0*(mA2-mHp2)*(mA2-mHp2)*cosb*cosb * ddpB00mHpmA
12507  + (mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma)*cosb*cosb * ddpB00mAmh
12508  + (mA2-mHh2)*(mA2-mHh2)*cosb*cosb*sin(bma)*sin(bma) * ddpB00mAmH
12509  + 1.5*mHl2*mHl2*sin(alpha)*sin(alpha)*sin(bma)*sin(bma) * ddpB0mh00
12510  + 2.0*(mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma)*sin(alpha)*sin(alpha) * ddpB0mh0mHp
12511  + (mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma)*sin(alpha)*sin(alpha) * ddpB0mh0mA
12512  + 9.0*sin(alpha)*sin(alpha)*pow(-mHl2*(3.0*sin(bma)+sin(3.0*bma)+sin(3.0*alpha+beta)+3.0*sin(alpha+3.0*beta))
12513  +16.0*m12_2*cos(bma)*cos(bma)*cos(alpha+beta),2)/(512.0*pow(cosb*sinb,4)) * ddpB0mhmhmh
12514  + sin(alpha)*sin(alpha)*pow((cos(alpha)/sinb+sin(alpha)/cosb)*(m12_2+cos(alpha)*sin(alpha)*(mHh2+2.0*mHl2-(3.0*m12_2)/(cosb*sinb))),2) * ddpB0mhmHmh
12515  + sin(alpha)*sin(alpha)*sin(bma)*sin(bma)*pow(-2.0*m12_2+(2.0*mHh2+mHl2-(3.0*m12_2)/(cosb*sinb))*sin(2.0*alpha),2)/(8.0*cosb*cosb*sinb*sinb) * ddpB0mhmHmH
12516  + (sin(alpha)*sin(alpha)*pow((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12517  +cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb),2))/(64.0*pow(cosb*sinb,4)) * ddpB0mhmHpmHp
12518  + (sin(alpha)*sin(alpha)*pow((2.0*mA2-mHl2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(8.0*m12_2-(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb),2))/(128.0*pow(cosb*sinb,4)) * ddpB0mhmAmA
12519  + 1.5*mHh2*mHh2*cos(alpha)*cos(alpha)*cos(bma)*cos(bma) * ddpB0mH00
12520  + 2.0*(mHh2-mHp2)*(mHh2-mHp2)*cos(alpha)*cos(alpha)*sin(bma)*sin(bma) * ddpB0mH0mHp
12521  + (mA2-mHh2)*(mA2-mHh2)*cos(alpha)*cos(alpha)*sin(bma)*sin(bma) * ddpB0mH0mA
12522  + cos(alpha)*cos(alpha)*cos(bma)*cos(bma)*pow(m12_2+cos(alpha)*sin(alpha)*(mHh2-3.0*m12_2/(cosb*sinb))+mHl2*sin(2.0*alpha),2)/(2.0*cosb*cosb*sinb*sinb) * ddpB0mHmhmh
12523  + cos(alpha)*cos(alpha)*sin(bma)*sin(bma)*pow(m12_2*cosb*sinb+0.5*sin(2.0*alpha)*(3.0*m12_2-(2.0*mHh2+mHl2)*cosb*sinb),2)/pow(cosb*sinb,4) * ddpB0mHmHmh
12524  + 9.0*cos(alpha)*cos(alpha)*pow(mHh2*(-3.0*cos(bma)+cos(3.0*bma)-cos(3.0*alpha+beta)+3.0*cos(alpha+3.0*beta))
12525  +16.0*m12_2*sin(bma)*sin(bma)*sin(alpha+beta),2)/(512.0*pow(cosb*sinb,4)) * ddpB0mHmHmH
12526  + (cos(alpha)*cos(alpha)*pow((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)
12527  +2.0*(mHh2+2.0*mHp2)*cos(bma)-(3.0*mHh2+2.0*mHp2)*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta),2))/(256.0*pow(cosb*sinb,4)) * ddpB0mHmHpmHp
12528  + (cos(alpha)*cos(alpha)*pow((2.0*mA2-mHh2)*cos(alpha-5.0*beta)
12529  -2.0*(2.0*mA2+mHh2)*cos(bma)+(2.0*mA2+3.0*mHh2)*cos(alpha+3.0*beta)+16.0*m12_2*sin(alpha+beta),2))/(512.0*pow(cosb*sinb,4)) * ddpB0mHmAmA
12530  + 2.0*(mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma)*sinb*sinb * ddpB0mHp0mh
12531  + 2.0*(mHh2-mHp2)*(mHh2-mHp2)*sin(bma)*sin(bma)*sinb*sinb * ddpB0mHp0mH
12532  + 2.0*(mA2-mHp2)*(mA2-mHp2)*sinb*sinb * ddpB0mHp0mA
12533  + 2.0*pow((m12_2*cos(alpha+beta))/(sinb*sinb*cosb*cosb)-(mHl2*cos(bma)*cos(2.0*beta))/(cosb*sinb)-(mHl2+2.0*mHp2)*sin(bma),2)*sinb*sinb * ddpB0mHpmHpmh
12534  + 2.0*pow(sinb*((mHh2+2.0*mHp2)*cos(bma)-mHh2*cos(2.0*beta)*sin(bma)/(cosb*sinb)-m12_2*sin(alpha+beta)/(sinb*sinb*cosb*cosb)),2) * ddpB0mHpmHpmH
12535  + (mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma)*sinb*sinb * ddpB0mA0mh
12536  + (mA2-mHh2)*(mA2-mHh2)*sin(bma)*sin(bma)*sinb*sinb * ddpB0mA0mH
12537  + 2.0*(mA2-mHp2)*(mA2-mHp2)*sinb*sinb * ddpB0mA0mHp
12538  + pow((2.0*mA2-mHl2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(8.0*m12_2-(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb),2)/(64.0*pow(cosb,4)*sinb*sinb) * ddpB0mAmAmh
12539  + pow((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+2.0*mA2*cos(alpha+3.0*beta)
12540  + 3.0*mHh2*cos(alpha+3.0*beta)+16.0*m12_2*sin(alpha+beta),2)/(256.0*pow(cosb,4)*sinb*sinb) * ddpB0mAmAmH;
12541 
12542  WFRcomb1b = (mHl2*(mA2*(2.0*mHl2-3.0*mHp2)+mHl2*mHp2)*sin(2.0*bma)*2.0*sinb*cosb)/(2.0*mA2*mHp2) * B000mh
12543  - (mHh2*(mA2*(2.0*mHh2-3.0*mHp2)+mHh2*mHp2)*sin(2.0*bma)*2.0*sinb*cosb)/(2.0*mA2*mHp2) * B000mH
12544  + ((mHl2-mHp2)*cos(bma)*((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12545  +cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb)))/(2.0*mHp2*sinb*cosb) * B00mHpmh
12546  + ((mHp2-mHh2)*sin(bma)*((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)-3.0*mHh2*cos(alpha+3.0*beta)
12547  -2.0*mHp2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta)))/(4.0*mHp2*sinb*cosb) * B00mHpmH
12548  + ((mHl2-mA2)*cos(bma)*((mHl2-2.0*mA2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12549  +cos(alpha+beta)*(-8.0*m12_2+(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb)))/(4.0*mA2*sinb*cosb) * B00mAmh
12550  + ((mHh2-mA2)*sin(bma)*((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+2.0*mA2*cos(alpha+3.0*beta)
12551  +3.0*mHh2*cos(alpha+3.0*beta)+16.0*m12_2*sin(alpha+beta)))/(8.0*mA2*sinb*cosb) * B00mAmH
12552  + (3.0*mHh2*mHl2*sin(2.0*alpha)*sin(2.0*bma))/(4.0*(mHh2-mHl2)) * B0mh00
12553  + ((mHl2-mHp2)*(mHp2-mHh2)*sin(2.0*alpha)*sin(2.0*bma))/(mHh2-mHl2) * B0mh0mHp
12554  - ((mA2-mHh2)*(mA2-mHl2)*sin(2.0*alpha)*sin(2.0*bma))/(2.0*(mHh2-mHl2)) * B0mh0mA
12555  + 3.0*cos(bma)*sin(2.0*alpha)*(m12_2+cos(alpha)*sin(alpha)*(mHh2-(3.0*m12_2)/(sinb*cosb))+mHl2*sin(2.0*alpha))
12556  *(-mHl2*(3.0*sin(bma)+sin(3.0*bma)+sin(3.0*alpha+beta)+3.0*sin(alpha+3.0*beta))
12557  +16.0*m12_2*cos(bma)*cos(bma)*cos(alpha+beta))/(32.0*(mHl2-mHh2)*pow(sinb*cosb,3)) * B0mhmhmh
12558  + (sin(2.0*bma)*sin(2.0*alpha)
12559  *(4.0*m12_2*m12_2+2.0*m12_2*(mHl2-mHh2)*sin(2.0*alpha)
12560  -(2.0*mHh2*mHh2+5.0*mHh2*mHl2+2.0*mHl2*mHl2-(9.0*m12_2*(mHh2+mHl2))/(sinb*cosb)
12561  +(9.0*m12_2*m12_2)/(sinb*sinb*cosb*cosb))*sin(2.0*alpha)*sin(2.0*alpha)))/(8.0*(mHh2-mHl2)*sinb*sinb*cosb*cosb) * B0mhmHmh
12562  - 3.0*sin(2.0*alpha)*sin(bma)*(m12_2-cos(alpha)*sin(alpha)*(2.0*mHh2+mHl2-(3.0*m12_2)/(sinb*cosb)))
12563  *(mHh2*(-3.0*cos(bma)+cos(3.0*bma)-cos(3.0*alpha+beta)+3.0*cos(alpha+3.0*beta))
12564  +16.0*m12_2*sin(bma)*sin(bma)*sin(alpha+beta))/(32.0*(mHh2-mHl2)*pow(sinb*cosb,3)) * B0mhmHmH
12565  + sin(2.0*alpha)*((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb))
12566  *((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)-3.0*mHh2*cos(alpha+3.0*beta)
12567  -2.0*mHp2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta))/(128.0*(mHh2-mHl2)*pow(cosb*sinb,4)) * B0mhmHpmHp
12568  + sin(2.0*alpha)*((mHl2-2.0*mA2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(-8.0*m12_2+(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb))
12569  *((mHh2-2.0*mA2)*cos(alpha-5.0*beta)+2.0*(2.0*mA2+mHh2)*cos(bma)-2.0*mA2*cos(alpha+3.0*beta)
12570  -3.0*mHh2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta))/(256.0*(mHh2-mHl2)*pow(cosb*sinb,4)) * B0mhmAmA
12571  - (3.0*mHh2*mHl2*sin(2.0*alpha)*sin(2.0*bma))/(4.0*(mHh2-mHl2)) * B0mH00
12572  + ((mHh2-mHp2)*(mHl2-mHp2)*sin(2.0*alpha)*sin(2.0*bma))/(mHh2-mHl2) * B0mH0mHp
12573  + ((mA2-mHh2)*(mA2-mHl2)*sin(2.0*alpha)*sin(2.0*bma))/(2.0*(mHh2-mHl2)) * B0mH0mA
12574  + 3.0*cos(bma)*sin(2.0*alpha)*(m12_2+cos(alpha)*sin(alpha)*(mHh2-(3.0*m12_2)/(sinb*cosb))+mHl2*sin(2.0*alpha))
12575  *(-mHl2*(3.0*sin(bma)+sin(3.0*bma)+sin(3.0*alpha+beta)+3.0*sin(alpha+3.0*beta))
12576  +16.0*m12_2*cos(bma)*cos(bma)*cos(alpha+beta))/(32.0*(mHh2-mHl2)*pow(sinb*cosb,3)) * B0mHmhmh
12577  + (sin(2.0*bma)*sin(2.0*alpha)*(-4.0*m12_2*m12_2+2.0*m12_2*(mHh2-mHl2)*sin(2.0*alpha)
12578  +(2.0*mHh2*mHh2+5.0*mHh2*mHl2+2.0*mHl2*mHl2
12579  -(9.0*m12_2*(mHh2+mHl2))/(sinb*cosb)
12580  +(9.0*m12_2*m12_2)/(sinb*sinb*cosb*cosb))*sin(2.0*alpha)*sin(2.0*alpha)))
12581  /(8.0*(mHh2-mHl2)*sinb*sinb*cosb*cosb) * B0mHmHmh
12582  + 3.0*sin(bma)*sin(2.0*alpha)*(m12_2-cos(alpha)*sin(alpha)*(2.0*mHh2+mHl2-(3.0*m12_2)/(sinb*cosb)))
12583  *(mHh2*(-3.0*cos(bma)+cos(3.0*bma)-cos(3.0*alpha+beta)+3.0*cos(alpha+3.0*beta))
12584  +16.0*m12_2*sin(bma)*sin(bma)*sin(alpha+beta))/(32.0*(mHh2-mHl2)*pow(sinb*cosb,3)) * B0mHmHmH
12585  - sin(2.0*alpha)*((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb))
12586  *((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)-3.0*mHh2*cos(alpha+3.0*beta)
12587  -2.0*mHp2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta))/(128.0*(mHh2-mHl2)*pow(cosb*sinb,4)) * B0mHmHpmHp
12588  - sin(2.0*alpha)*((mHl2-2.0*mA2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mA2)*2.0*sinb*cosb))
12589  *((mHh2-2.0*mA2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mA2)*cos(bma)-3.0*mHh2*cos(alpha+3.0*beta)
12590  -2.0*mA2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta))/(256.0*(mHh2-mHl2)*pow(cosb*sinb,4)) * B0mHmAmA
12591  - (mHl2*(mHl2-mHp2)*sin(2.0*bma)*2.0*sinb*cosb)/mHp2 * B0mHp0mh
12592  + (mHh2*(mHh2-mHp2)*sin(2.0*bma)*2.0*sinb*cosb)/mHp2 * B0mHp0mH
12593  + ((mHp2-mHl2)*cos(bma)*((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12594  +cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb)))/(2.0*mHp2*sinb*cosb) * B0mHpmHpmh
12595  + ((mHh2-mHp2)*sin(bma)*((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)-3.0*mHh2*cos(alpha+3.0*beta)
12596  -2.0*mHp2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta)))/(4.0*mHp2*sinb*cosb) * B0mHpmHpmH
12597  + (mHl2*(mA2-mHl2)*sin(bma)*cos(bma)*2.0*sinb*cosb)/mA2 * B0mA0mh
12598  + ((mHh2-mA2)*mHh2*sin(bma)*cos(bma)*2.0*sinb*cosb)/mA2 * B0mA0mH
12599  + ((mA2-mHl2)*cos(bma)*((-2.0*mA2+mHl2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12600  +cos(alpha+beta)*(-8.0*m12_2+(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb)))/(4.0*mA2*sinb*cosb) * B0mAmAmh
12601  +((mA2-mHh2)*sin(bma)*((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+2.0*mA2*cos(alpha+3.0*beta)
12602  +3.0*mHh2*cos(alpha+3.0*beta)+16.0*m12_2*sin(alpha+beta)))/(8.0*mA2*sinb*cosb) * B0mAmAmH;
12603 
12604  WFRcomb2a = 1.5*mHl2*mHl2*sin(bma)*sin(bma) * ddpB000mh
12605  + 1.5*mHh2*mHh2*cos(bma)*cos(bma) * ddpB000mH
12606  + (mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma) * ddpB00mHpmh
12607  + (mHh2-mHp2)*(mHh2-mHp2)*sin(bma)*sin(bma) * ddpB00mHpmH
12608  + (mA2-mHp2)*(mA2-mHp2) * ddpB00mHpmA
12609  + 0.5*(mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma) * ddpB00mAmh
12610  + 0.5*(mA2-mHh2)*(mA2-mHh2)*sin(bma)*sin(bma) * ddpB00mAmH
12611  + 0.75*mHl2*mHl2*sin(bma)*sin(bma) * ddpB0mh00
12612  + (mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma) * ddpB0mh0mHp
12613  + 0.5*(mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma) * ddpB0mh0mA
12614  + 9.0*pow(16.0*m12_2*cos(bma)*cos(bma)*cos(alpha+beta)
12615  -mHl2*(3.0*sin(bma)+sin(3.0*bma)+sin(3.0*alpha+beta)+3.0*sin(alpha+3.0*beta)),2)/(1024.0*pow(cosb*sinb,4)) * ddpB0mhmhmh
12616  + 0.5*pow(cos(alpha)/sinb + sin(alpha)/cosb,2)
12617  *pow(m12_2+cos(alpha)*sin(alpha)*(mHh2+2.0*mHl2-3.0*m12_2/(cosb*sinb)),2) * ddpB0mhmHmh
12618  + (pow(-2.0*m12_2+(2.0*mHh2+mHl2-3.0*m12_2/(cosb*sinb))*sin(2.0*alpha),2)
12619  *sin(bma)*sin(bma))/(16.0*cosb*cosb*sinb*sinb) * ddpB0mhmHmH
12620  + pow((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*cosb*sinb
12621  +cos(alpha+beta)*(-4.0*m12_2+(3.0*mHl2+2.0*mHp2)*cosb*sinb),2)/(32.0*pow(cosb*sinb,4)) * ddpB0mhmHpmHp
12622  + pow((2.0*mA2-mHl2)*cos(alpha-3.0*beta)*cosb*sinb
12623  +cos(alpha+beta)*(4.0*m12_2-(2.0*mA2+3.0*mHl2)*cosb*sinb),2)/(64.0*pow(cosb*sinb,4)) * ddpB0mhmAmA
12624  + 0.75*mHh2*mHh2*cos(bma)*cos(bma) * ddpB0mH00
12625  + (mHh2 - mHp2)*(mHh2 - mHp2)*sin(bma)*sin(bma) * ddpB0mH0mHp
12626  + 0.5*(mA2-mHh2)*(mA2-mHh2)*sin(bma)*sin(bma) * ddpB0mH0mA
12627  + 0.25*pow(cos(alpha)/sinb + sin(alpha)/cosb,2)
12628  *pow(m12_2+cos(alpha)*sin(alpha)*(mHh2+2.0*mHl2-3.0*m12_2/(cosb*sinb)),2) * ddpB0mHmhmh
12629  + (pow(-2.0*m12_2+(2.0*mHh2+mHl2-3.0*m12_2/(cosb*sinb))*sin(2.0*alpha),2)
12630  *sin(bma)*sin(bma))/(8.0*cosb*cosb*sinb*sinb) * ddpB0mHmHmh
12631  + 9.0*pow(mHh2*(-3.0*cos(bma)+cos(3.0*bma)-cos(3.0*alpha+beta)+3.0*cos(alpha+3.0*beta))
12632  +16.0*m12_2*sin(bma)*sin(bma)*sin(alpha+beta),2)/(1024.0*pow(cosb*sinb,4)) * ddpB0mHmHmH
12633  + pow((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)-(3.0*mHh2+2.0*mHp2)*cos(alpha+3.0*beta)
12634  -16.0*m12_2*sin(alpha+beta),2)/(512*pow(cosb*sinb,4)) * ddpB0mHmHpmHp
12635  + pow((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+(2.0*mA2+3.0*mHh2)*cos(alpha+3.0*beta)
12636  +16.0*m12_2*sin(alpha+beta),2)/(1024*pow(cosb*sinb,4)) * ddpB0mHmAmA
12637  + (mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma) * ddpB0mHp0mh
12638  + (mHh2-mHp2)*(mHh2-mHp2)*sin(bma)*sin(bma) * ddpB0mHp0mH
12639  + (mA2-mHp2)*(mA2-mHp2) * ddpB0mHp0mA
12640  + pow((m12_2*cos(alpha+beta))/(cosb*cosb*sinb*sinb)-(mHl2*cos(bma)*cos(2.0*beta))/(cosb*sinb)
12641  -(mHl2+2.0*mHp2)*sin(bma),2) * ddpB0mHpmHpmh
12642  + pow((mHh2+2.0*mHp2)*cos(bma)-(mHh2*cos(2.0*beta)*sin(bma))/(cosb*sinb)
12643  -(m12_2*sin(alpha+beta))/(cosb*cosb*sinb*sinb),2) * ddpB0mHpmHpmH
12644  + 0.5*(mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma) * ddpB0mA0mh
12645  + 0.5*(mA2-mHh2)*(mA2-mHh2)*sin(bma)*sin(bma) * ddpB0mA0mH
12646  + (mA2-mHp2)*(mA2-mHp2) * ddpB0mA0mHp
12647  + pow((2.0*mA2-mHl2)*cos(alpha-3.0*beta)*2.0*cosb*sinb
12648  +cos(alpha+beta)*(8.0*m12_2-(2.0*mA2+3.0*mHl2)*2.0*cosb*sinb),2)/(128.0*pow(cosb*sinb,4)) * ddpB0mAmAmh
12649  + pow((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+(2.0*mA2+3.0*mHh2)*cos(alpha+3.0*beta)
12650  +16.0*m12_2*sin(alpha+beta),2)/(512.0*pow(cosb*sinb,4)) * ddpB0mAmAmH;
12651 
12652  WFRcomb3a = 0.5*mHl2*mHl2*(3.0-cos(2.0*beta))*sin(bma)*sin(bma) * ddpB000mh
12653  + 0.5*mHh2*mHh2*(3.0-cos(2.0*beta))*cos(bma)*cos(bma) * ddpB000mH
12654  + 2.0*(mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma)*sinb*sinb * ddpB00mHpmh
12655  + 2.0*(mHh2-mHp2)*(mHh2-mHp2)*sin(bma)*sin(bma)*sinb*sinb * ddpB00mHpmH
12656  + 2.0*(mA2-mHp2)*(mA2-mHp2)*sinb*sinb * ddpB00mHpmA
12657  + (mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma)*cosb*cosb * ddpB00mAmh
12658  + (mA2-mHh2)*(mA2-mHh2)*cosb*cosb*sin(bma)*sin(bma) * ddpB00mAmH
12659  + 1.5*mHl2*mHl2*sin(alpha)*sin(alpha)*sin(bma)*sin(bma) * ddpB0mh00
12660  + 2.0*(mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma)*sin(alpha)*sin(alpha) * ddpB0mh0mHp
12661  + (mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma)*sin(alpha)*sin(alpha) * ddpB0mh0mA
12662  + 9.0*sin(alpha)*sin(alpha)*pow(-mHl2*(3.0*sin(bma)+sin(3.0*bma)+sin(3.0*alpha+beta)+3.0*sin(alpha+3.0*beta))
12663  +16.0*m12_2*cos(bma)*cos(bma)*cos(alpha+beta),2)/(512.0*pow(cosb*sinb,4)) * ddpB0mhmhmh
12664  + sin(alpha)*sin(alpha)*pow((cos(alpha)/sinb+sin(alpha)/cosb)*(m12_2+cos(alpha)*sin(alpha)*(mHh2+2.0*mHl2-(3.0*m12_2)/(cosb*sinb))),2) * ddpB0mhmHmh
12665  + sin(alpha)*sin(alpha)*sin(bma)*sin(bma)*pow(-2.0*m12_2+(2.0*mHh2+mHl2-(3.0*m12_2)/(cosb*sinb))*sin(2.0*alpha),2)/(8.0*cosb*cosb*sinb*sinb) * ddpB0mhmHmH
12666  + (sin(alpha)*sin(alpha)*pow((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12667  +cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb),2))/(64.0*pow(cosb*sinb,4)) * ddpB0mhmHpmHp
12668  + (sin(alpha)*sin(alpha)*pow((2.0*mA2-mHl2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(8.0*m12_2-(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb),2))/(128.0*pow(cosb*sinb,4)) * ddpB0mhmAmA
12669  + 1.5*mHh2*mHh2*cos(alpha)*cos(alpha)*cos(bma)*cos(bma) * ddpB0mH00
12670  + 2.0*(mHh2-mHp2)*(mHh2-mHp2)*cos(alpha)*cos(alpha)*sin(bma)*sin(bma) * ddpB0mH0mHp
12671  + (mA2-mHh2)*(mA2-mHh2)*cos(alpha)*cos(alpha)*sin(bma)*sin(bma) * ddpB0mH0mA
12672  + cos(alpha)*cos(alpha)*cos(bma)*cos(bma)*pow(m12_2+cos(alpha)*sin(alpha)*(mHh2-3.0*m12_2/(cosb*sinb))+mHl2*sin(2.0*alpha),2)/(2.0*cosb*cosb*sinb*sinb) * ddpB0mHmhmh
12673  + cos(alpha)*cos(alpha)*sin(bma)*sin(bma)*pow(m12_2*cosb*sinb+0.5*sin(2.0*alpha)*(3.0*m12_2-(2.0*mHh2+mHl2)*cosb*sinb),2)/pow(cosb*sinb,4) * ddpB0mHmHmh
12674  + 9.0*cos(alpha)*cos(alpha)*pow(mHh2*(-3.0*cos(bma)+cos(3.0*bma)-cos(3.0*alpha+beta)+3.0*cos(alpha+3.0*beta))
12675  +16.0*m12_2*sin(bma)*sin(bma)*sin(alpha+beta),2)/(512.0*pow(cosb*sinb,4)) * ddpB0mHmHmH
12676  + (cos(alpha)*cos(alpha)*pow((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)
12677  +2.0*(mHh2+2.0*mHp2)*cos(bma)-(3.0*mHh2+2.0*mHp2)*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta),2))/(256.0*pow(cosb*sinb,4)) * ddpB0mHmHpmHp
12678  + (cos(alpha)*cos(alpha)*pow((2.0*mA2-mHh2)*cos(alpha-5.0*beta)
12679  -2.0*(2.0*mA2+mHh2)*cos(bma)+(2.0*mA2+3.0*mHh2)*cos(alpha+3.0*beta)+16.0*m12_2*sin(alpha+beta),2))/(512.0*pow(cosb*sinb,4)) * ddpB0mHmAmA
12680  + 2.0*(mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma)*cosb*cosb * ddpB0mHp0mh
12681  + 2.0*(mHh2-mHp2)*(mHh2-mHp2)*sin(bma)*sin(bma)*cosb*cosb * ddpB0mHp0mH
12682  + 2.0*(mA2-mHp2)*(mA2-mHp2)*cosb*cosb * ddpB0mHp0mA
12683  + 2.0*cosb*cosb*pow((m12_2*cos(alpha+beta))/(cosb*cosb*sinb*sinb)-(mHl2*cos(bma)*cos(2.0*beta))/(cosb*sinb)-(mHl2+2.0*mHp2)*sin(bma),2) * ddpB0mHpmHpmh
12684  + 2.0*cosb*cosb*pow((mHh2+2.0*mHp2)*cos(bma)-(mHh2*cos(2.0*beta)*sin(bma))/(cosb*sinb)-(m12_2*sin(alpha+beta))/(cosb*cosb*sinb*sinb),2) * ddpB0mHpmHpmH
12685  + (mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma)*sinb*sinb * ddpB0mA0mh
12686  + (mA2-mHh2)*(mA2-mHh2)*sin(bma)*sin(bma)*sinb*sinb * ddpB0mA0mH
12687  + 2.0*(mA2-mHp2)*(mA2-mHp2)*sinb*sinb * ddpB0mA0mHp
12688  + pow((2.0*mA2-mHl2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(8.0*m12_2-(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb),2)/(64.0*pow(cosb,4)*sinb*sinb) * ddpB0mAmAmh
12689  + pow((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+2.0*mA2*cos(alpha+3.0*beta)
12690  + 3.0*mHh2*cos(alpha+3.0*beta)+16.0*m12_2*sin(alpha+beta),2)/(256.0*pow(cosb,4)*sinb*sinb) * ddpB0mAmAmH;
12691 
12692  WFRcomb3b = ((mHl2*mHl2*mHp2+mA2*(-2.0*mHl2*mHl2+mHl2*mHp2))*sin(2.0*bma)*sinb*cosb)/(mA2*mHp2) * B000mh
12693  + ((-mHh2*mHh2*mHp2+mA2*(2.0*mHh2*mHh2-mHh2*mHp2))*sin(2.0*bma)*sinb*cosb)/(mA2*mHp2) * B000mH
12694  + ((mHp2-mHl2)*cos(bma)*((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12695  +cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb)))/(2.0*mHp2*sinb*cosb) * B00mHpmh
12696  + ((mHh2-mHp2)*sin(bma)*((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)-3.0*mHh2*cos(alpha+3.0*beta)
12697  -2.0*mHp2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta)))/(4.0*mHp2*sinb*cosb) * B00mHpmH
12698  + ((mHl2-mA2)*cos(bma)*((mHl2-2.0*mA2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12699  +cos(alpha+beta)*(-8.0*m12_2+(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb)))/(4.0*mA2*sinb*cosb) * B00mAmh
12700  + ((mHh2-mA2)*sin(bma)*((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+2.0*mA2*cos(alpha+3.0*beta)
12701  +3.0*mHh2*cos(alpha+3.0*beta)+16.0*m12_2*sin(alpha+beta)))/(8.0*mA2*sinb*cosb) * B00mAmH
12702  + (3.0*mHh2*mHl2*sin(2.0*alpha)*sin(2.0*bma))/(4.0*(mHh2-mHl2)) * B0mh00
12703  + ((mHl2-mHp2)*(mHp2-mHh2)*sin(2.0*alpha)*sin(2.0*bma))/(mHh2-mHl2) * B0mh0mHp
12704  - ((mA2-mHh2)*(mA2-mHl2)*sin(2.0*alpha)*sin(2.0*bma))/(2.0*(mHh2-mHl2)) * B0mh0mA
12705  + 3.0*cos(bma)*sin(2.0*alpha)*(m12_2+cos(alpha)*sin(alpha)*(mHh2-(3.0*m12_2)/(sinb*cosb))+mHl2*sin(2.0*alpha))
12706  *(-mHl2*(3.0*sin(bma)+sin(3.0*bma)+sin(3.0*alpha+beta)+3.0*sin(alpha+3.0*beta))
12707  +16.0*m12_2*cos(bma)*cos(bma)*cos(alpha+beta))/(32.0*(mHl2-mHh2)*pow(sinb*cosb,3)) * B0mhmhmh
12708  + (sin(2.0*bma)*sin(2.0*alpha)
12709  *(4.0*m12_2*m12_2+2.0*m12_2*(mHl2-mHh2)*sin(2.0*alpha)
12710  -(2.0*mHh2*mHh2+5.0*mHh2*mHl2+2.0*mHl2*mHl2-(9.0*m12_2*(mHh2+mHl2))/(sinb*cosb)
12711  +(9.0*m12_2*m12_2)/(sinb*sinb*cosb*cosb))*sin(2.0*alpha)*sin(2.0*alpha)))/(8.0*(mHh2-mHl2)*sinb*sinb*cosb*cosb) * B0mhmHmh
12712  - 3.0*sin(2.0*alpha)*sin(bma)*(m12_2-cos(alpha)*sin(alpha)*(2.0*mHh2+mHl2-(3.0*m12_2)/(sinb*cosb)))
12713  *(mHh2*(-3.0*cos(bma)+cos(3.0*bma)-cos(3.0*alpha+beta)+3.0*cos(alpha+3.0*beta))
12714  +16.0*m12_2*sin(bma)*sin(bma)*sin(alpha+beta))/(32.0*(mHh2-mHl2)*pow(sinb*cosb,3)) * B0mhmHmH
12715  + sin(2.0*alpha)*((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb))
12716  *((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)-3.0*mHh2*cos(alpha+3.0*beta)
12717  -2.0*mHp2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta))/(128.0*(mHh2-mHl2)*pow(cosb*sinb,4)) * B0mhmHpmHp
12718  + sin(2.0*alpha)*((mHl2-2.0*mA2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(-8.0*m12_2+(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb))
12719  *((mHh2-2.0*mA2)*cos(alpha-5.0*beta)+2.0*(2.0*mA2+mHh2)*cos(bma)-2.0*mA2*cos(alpha+3.0*beta)
12720  -3.0*mHh2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta))/(256.0*(mHh2-mHl2)*pow(cosb*sinb,4)) * B0mhmAmA
12721  - (3.0*mHh2*mHl2*sin(2.0*alpha)*sin(2.0*bma))/(4.0*(mHh2-mHl2)) * B0mH00
12722  + ((mHh2-mHp2)*(mHl2-mHp2)*sin(2.0*alpha)*sin(2.0*bma))/(mHh2-mHl2) * B0mH0mHp
12723  + ((mA2-mHh2)*(mA2-mHl2)*sin(2.0*alpha)*sin(2.0*bma))/(2.0*(mHh2-mHl2)) * B0mH0mA
12724  + 3.0*cos(bma)*sin(2.0*alpha)*(m12_2+cos(alpha)*sin(alpha)*(mHh2-(3.0*m12_2)/(sinb*cosb))+mHl2*sin(2.0*alpha))
12725  *(-mHl2*(3.0*sin(bma)+sin(3.0*bma)+sin(3.0*alpha+beta)+3.0*sin(alpha+3.0*beta))
12726  +16.0*m12_2*cos(bma)*cos(bma)*cos(alpha+beta))/(32.0*(mHh2-mHl2)*pow(sinb*cosb,3)) * B0mHmhmh
12727  + (sin(2.0*bma)*sin(2.0*alpha)*(-4.0*m12_2*m12_2+2.0*m12_2*(mHh2-mHl2)*sin(2.0*alpha)
12728  +(2.0*mHh2*mHh2+5.0*mHh2*mHl2+2.0*mHl2*mHl2
12729  -(9.0*m12_2*(mHh2+mHl2))/(sinb*cosb)
12730  +(9.0*m12_2*m12_2)/(sinb*sinb*cosb*cosb))*sin(2.0*alpha)*sin(2.0*alpha)))
12731  /(8.0*(mHh2-mHl2)*sinb*sinb*cosb*cosb) * B0mHmHmh
12732  + 3.0*sin(bma)*sin(2.0*alpha)*(m12_2-cos(alpha)*sin(alpha)*(2.0*mHh2+mHl2-(3.0*m12_2)/(sinb*cosb)))
12733  *(mHh2*(-3.0*cos(bma)+cos(3.0*bma)-cos(3.0*alpha+beta)+3.0*cos(alpha+3.0*beta))
12734  +16.0*m12_2*sin(bma)*sin(bma)*sin(alpha+beta))/(32.0*(mHh2-mHl2)*pow(sinb*cosb,3)) * B0mHmHmH
12735  - sin(2.0*alpha)*((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb))
12736  *((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)-3.0*mHh2*cos(alpha+3.0*beta)
12737  -2.0*mHp2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta))/(128.0*(mHh2-mHl2)*pow(cosb*sinb,4)) * B0mHmHpmHp
12738  - sin(2.0*alpha)*((mHl2-2.0*mA2)*cos(alpha-3.0*beta)*2.0*sinb*cosb+cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mA2)*2.0*sinb*cosb))
12739  *((mHh2-2.0*mA2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mA2)*cos(bma)-3.0*mHh2*cos(alpha+3.0*beta)
12740  -2.0*mA2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta))/(256.0*(mHh2-mHl2)*pow(cosb*sinb,4)) * B0mHmAmA
12741  + (mHl2*(mHl2-mHp2)*sin(2.0*bma)*2.0*sinb*cosb)/mHp2 * B0mHp0mh
12742  - (mHh2*(mHh2-mHp2)*sin(2.0*bma)*2.0*sinb*cosb)/mHp2 * B0mHp0mH
12743  + (mHl2-mHp2)*cos(bma)*((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12744  +cos(alpha+beta)*(-8.0*m12_2+(3.0*mHl2+2.0*mHp2)*2.0*sinb*cosb))/(2.0*mHp2*sinb*cosb) * B0mHpmHpmh
12745  - (mHh2-mHp2)*sin(bma)*((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)
12746  -3.0*mHh2*cos(alpha+3.0*beta)-2.0*mHp2*cos(alpha+3.0*beta)-16.0*m12_2*sin(alpha+beta))/(4.0*mHp2*sinb*cosb) * B0mHpmHpmH
12747  + (mHl2*(mA2-mHl2)*sin(bma)*cos(bma)*2.0*sinb*cosb)/mA2 * B0mA0mh
12748  + ((mHh2-mA2)*mHh2*sin(bma)*cos(bma)*2.0*sinb*cosb)/mA2 * B0mA0mH
12749  + ((mA2-mHl2)*cos(bma)*((-2.0*mA2+mHl2)*cos(alpha-3.0*beta)*2.0*sinb*cosb
12750  +cos(alpha+beta)*(-8.0*m12_2+(2.0*mA2+3.0*mHl2)*2.0*sinb*cosb)))/(4.0*mA2*sinb*cosb) * B0mAmAmh
12751  +((mA2-mHh2)*sin(bma)*((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+2.0*mA2*cos(alpha+3.0*beta)
12752  +3.0*mHh2*cos(alpha+3.0*beta)+16.0*m12_2*sin(alpha+beta)))/(8.0*mA2*sinb*cosb) * B0mAmAmH;
12753 
12754  WFRcomb4a = 0.5*mHl2*mHl2*sin(bma)*sin(bma) * ddpB000mh
12755  + 0.5*mHh2*mHh2*cos(bma)*cos(bma) * ddpB000mH
12756  + 0.5*(mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma) * ddpB00mAmh
12757  + 0.5*(mA2-mHh2)*(mA2-mHh2)*sin(bma)*sin(bma) * ddpB00mAmH
12758  + 0.75*mHl2*mHl2*sin(bma)*sin(bma) * ddpB0mh00
12759  + (mHl2-mHp2)*(mHl2-mHp2)*cos(bma)*cos(bma) * ddpB0mh0mHp
12760  + 0.5*(mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma) * ddpB0mh0mA
12761  + 9.0*pow(16.0*m12_2*cos(bma)*cos(bma)*cos(alpha+beta)
12762  -mHl2*(3.0*sin(bma)+sin(3.0*bma)+sin(3.0*alpha+beta)+3.0*sin(alpha+3.0*beta)),2)/(1024.0*pow(cosb*sinb,4)) * ddpB0mhmhmh
12763  + 0.5*pow(cos(alpha)/sinb + sin(alpha)/cosb,2)
12764  *pow(m12_2+cos(alpha)*sin(alpha)*(mHh2+2.0*mHl2-3.0*m12_2/(cosb*sinb)),2) * ddpB0mhmHmh
12765  + (pow(-2.0*m12_2+(2.0*mHh2+mHl2-3.0*m12_2/(cosb*sinb))*sin(2.0*alpha),2)
12766  *sin(bma)*sin(bma))/(16.0*cosb*cosb*sinb*sinb) * ddpB0mhmHmH
12767  + pow((mHl2-2.0*mHp2)*cos(alpha-3.0*beta)*cosb*sinb
12768  +cos(alpha+beta)*(-4.0*m12_2+(3.0*mHl2+2.0*mHp2)*cosb*sinb),2)/(32.0*pow(cosb*sinb,4)) * ddpB0mhmHpmHp
12769  + pow((2.0*mA2-mHl2)*cos(alpha-3.0*beta)*cosb*sinb
12770  +cos(alpha+beta)*(4.0*m12_2-(2.0*mA2+3.0*mHl2)*cosb*sinb),2)/(64.0*pow(cosb*sinb,4)) * ddpB0mhmAmA
12771  + 0.75*mHh2*mHh2*cos(bma)*cos(bma) * ddpB0mH00
12772  + (mHh2 - mHp2)*(mHh2 - mHp2)*sin(bma)*sin(bma) * ddpB0mH0mHp
12773  + 0.5*(mA2-mHh2)*(mA2-mHh2)*sin(bma)*sin(bma) * ddpB0mH0mA
12774  + 0.25*pow(cos(alpha)/sinb + sin(alpha)/cosb,2)
12775  *pow(m12_2+cos(alpha)*sin(alpha)*(mHh2+2.0*mHl2-3.0*m12_2/(cosb*sinb)),2) * ddpB0mHmhmh
12776  + (pow(-2.0*m12_2+(2.0*mHh2+mHl2-3.0*m12_2/(cosb*sinb))*sin(2.0*alpha),2)
12777  *sin(bma)*sin(bma))/(8.0*cosb*cosb*sinb*sinb) * ddpB0mHmHmh
12778  + 9.0*pow(mHh2*(-3.0*cos(bma)+cos(3.0*bma)-cos(3.0*alpha+beta)+3.0*cos(alpha+3.0*beta))
12779  +16.0*m12_2*sin(bma)*sin(bma)*sin(alpha+beta),2)/(1024.0*pow(cosb*sinb,4)) * ddpB0mHmHmH
12780  + pow((mHh2-2.0*mHp2)*cos(alpha-5.0*beta)+2.0*(mHh2+2.0*mHp2)*cos(bma)-(3.0*mHh2+2.0*mHp2)*cos(alpha+3.0*beta)
12781  -16.0*m12_2*sin(alpha+beta),2)/(512*pow(cosb*sinb,4)) * ddpB0mHmHpmHp
12782  + pow((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+(2.0*mA2+3.0*mHh2)*cos(alpha+3.0*beta)
12783  +16.0*m12_2*sin(alpha+beta),2)/(1024*pow(cosb*sinb,4)) * ddpB0mHmAmA
12784  + 0.5*(mA2-mHl2)*(mA2-mHl2)*cos(bma)*cos(bma) * ddpB0mA0mh
12785  + 0.5*(mA2-mHh2)*(mA2-mHh2)*sin(bma)*sin(bma) * ddpB0mA0mH
12786  + (mA2-mHp2)*(mA2-mHp2) * ddpB0mA0mHp
12787  + pow((2.0*mA2-mHl2)*cos(alpha-3.0*beta)*2.0*cosb*sinb
12788  +cos(alpha+beta)*(8.0*m12_2-(2.0*mA2+3.0*mHl2)*2.0*cosb*sinb),2)/(128.0*pow(cosb*sinb,4)) * ddpB0mAmAmh
12789  + pow((2.0*mA2-mHh2)*cos(alpha-5.0*beta)-2.0*(2.0*mA2+mHh2)*cos(bma)+(2.0*mA2+3.0*mHh2)*cos(alpha+3.0*beta)
12790  +16.0*m12_2*sin(alpha+beta),2)/(512.0*pow(cosb*sinb,4)) * ddpB0mAmAmH;
12791  }
12792  WFRcomb1=-(WFRcomb1a+WFRcomb1b)/(vev*vev);
12793  WFRcomb2=-WFRcomb2a/(vev*vev);
12794  WFRcomb3=-(WFRcomb3a+WFRcomb3b)/(vev*vev);
12795  WFRcomb4=-WFRcomb4a/(vev*vev);
12796 }
12797 
12799 {
12800  Q_THDM=myTHDM->getQ_THDM();
12801  bma=myTHDM->getbma();
12802  logtb=myTHDM->getlogtb();
12803  tanb=myTHDM->gettanb();
12804  m12_2=myTHDM->getm12_2();
12805  mA2=myTHDM->getmA2();
12806  mHp2=myTHDM->getmHp2();
12807  Rpeps=myTHDM->getRpeps();
12808  MW=MWTHDM(myTHDM->Mw_tree());
12809  cW2=cW2THDM(myTHDM->c02());
12810  /*This should be the only reference to the SM Higgs mass!*/
12811  mHl=myTHDM->getMHl();
12812  mHl2=mHl*mHl;
12813  mHh2=myTHDM->getmHh2();
12820  vev=myTHDM->v();
12821  Ale=myTHDM->getAle();
12822  Als=myTHDM->getAlsMz();
12832  MZ=myTHDM->getMz();
12835 
12836  UnitarityTestflag=false; //Default is false; only set to true if you want to use hard-coded lambda's for unitarity
12837 
12841  computeHHlimits();
12842  computeAlimits();
12846 
12847  return mHl2;
12848 }
gslpp::complex B0p_MZ2_mHl2_0_0(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:948
double ip_ex_pp_Hp_taunu_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3325
double THoEX_ttF_A_tt_ATLAS13
Definition: THDMcache.h:2784
double R_pp_H_hh_bbVV_CMS13
Definition: THDMcache.h:2550
double ip_csr_ggA_b_13_cache[2][CacheSize]
Definition: THDMcache.h:3089
gslpp::matrix< double > CMS13_pp_H_hh_bbbb_e
Definition: THDMcache.h:238
complex cos(const complex &z)
gslpp::matrix< double > CMS13_bb_phi_tautau_e
Definition: THDMcache.h:238
double R_bbF_H_tt_ATLAS13
Definition: THDMcache.h:2464
gslpp::complex I_A_U_cache[4][CacheSize]
Definition: THDMcache.h:3347
double THDM_BR_h_cc
branching ratio to two quarks in the THDM.
Definition: THDMcache.h:2052
double R_pp_H_AZ_bbll_CMS8
Definition: THDMcache.h:2457
double ie10ec[2][CacheSize]
Definition: THDMcache.h:3261
gslpp::matrix< double > ATLAS13_pp_Hpm_taunu_e
ATLAS expected upper cross section limits at 13 TeV, depending on the charged Higgs mass...
Definition: THDMcache.h:282
static const int CacheSize
Cache size.
Definition: THDMcache.h:48
double ie13ec[2][CacheSize]
Definition: THDMcache.h:3267
double g3_at_Q
Definition: THDMcache.h:2885
double THoEX_ggF_A_hZ_bbZ_ATLAS13
Definition: THDMcache.h:2810
double ie16e(double mass)
Definition: THDMcache.cpp:5800
double ip_ex_pp_phi_Zga_llga_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a scalar resonance decaying to a boson ...
Definition: THDMcache.cpp:3944
double ip_cs_VBFtoH_13(double mass)
Interpolating function for the H production cross section via vector boson fusion at 13 TeV...
Definition: THDMcache.cpp:2424
gslpp::matrix< double > CMS13_ggF_H_hh_bbbb
Definition: THDMcache.h:231
double ip_ex_pp_Hpm_taunu_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3333
double ip_ex_pp_H_hh_gagaWW_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4536
gslpp::complex I_H_W_cache[3][CacheSize]
Definition: THDMcache.h:3354
gslpp::matrix< double > ATLAS13_VBF_H_WW_enumumu
Definition: THDMcache.h:213
double ip_ex_gg_A_hZ_bbZ_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3101
double Br_Atogaga
Definition: THDMcache.h:2562
double getRpeps() const
Definition: THDM.h:510
double R_ggF_H_ZZ_nunuqq_ATLAS13
Definition: THDMcache.h:2516
gslpp::matrix< double > temp6e
Definition: THDMcache.h:249
gslpp::complex B0_MZ2_mHp2_0_mHh2(const double MZ2, const double mHp2, const double mHh2) const
Definition: THDMcache.cpp:750
double m12_2_at_Q
Definition: THDMcache.h:2893
gslpp::complex I_H_Hp_cache[3][CacheSize]
Definition: THDMcache.h:3355
gslpp::complex B0_MZ2_mHl2_mHh2_mHh2(const double MZ2, const double mHl2, const double mHh2) const
Definition: THDMcache.cpp:582
gslpp::matrix< double > ATLAS13_tt_phi_tt
Definition: THDMcache.h:213
gslpp::complex B00_MZ2_MW2_mA2_mHp2(const double MZ2, const double MW2, const double mA2, const double mHp2) const
Definition: THDMcache.cpp:1454
double ie31(double mass)
Definition: THDMcache.cpp:6264
gslpp::matrix< double > log_cs_ttA_8
Definition: THDMcache.h:151
double mA2
Definition: THDMcache.h:2932
double pp_A_Zga_llga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2595
double ggF_A_hZ_tautaull_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2619
gslpp::matrix< double > ATLAS13_pp_H_hh_gagabb_e
Definition: THDMcache.h:222
double R_pp_H_Zga_qqga_CMS13
Definition: THDMcache.h:2484
double ip_ex_mu_pp_H_VV_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3115
double GammaHtot
Total decay width of the heavy CP-even Higgs .
Definition: THDMcache.h:2360
gslpp::complex B0_MZ2_0_0_mHh2(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:442
Particle getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:822
double ip_ex_pp_phi_Zga_qqga_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3209
double ie13e(double mass)
Definition: THDMcache.cpp:5704
gslpp::complex B0p_MZ2_0_mA2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3003
double ip_ex_VBF_H_ZZ_llqq_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3175
double THoEX_ggF_H_ZZ_ATLAS8
Definition: THDMcache.h:2438
double ttF_H_tt_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2342
double VBF_H_WW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2276
double ip_ex_gg_A_hZ_bbZ_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced pseudoscalar reso...
Definition: THDMcache.cpp:3053
double THoEX_ggF_A_hZ_tautauZ_ATLAS8
Definition: THDMcache.h:2777
double ie37c[2][CacheSize]
Definition: THDMcache.h:3314
gslpp::complex B00_MZ2_0_mHh2_mA2(const double MZ2, const double mHh2, const double mA2) const
Definition: THDMcache.cpp:1328
gslpp::matrix< double > temp8e
Definition: THDMcache.h:249
double ie12(double mass)
Definition: THDMcache.cpp:5656
double pp_H_Zga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2216
double ip_ex_ggVV_H_WW_lnulnu_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3226
double ip_ex_pp_phi_Zga_llga_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a pseudoscalar resonance decaying to a Z...
Definition: THDMcache.cpp:2923
gslpp::matrix< double > temp40
Definition: THDMcache.h:248
double R_ggF_H_ZZ_qqllnunu_ATLAS13
Definition: THDMcache.h:2508
double THoEX_bbF_A_tautau_CMS8
Definition: THDMcache.h:2761
gslpp::complex B00_MZ2_0_mHp2_mHp2(const double MZ2, const double mHp2) const
Definition: THDMcache.cpp:1384
double ghHpHm_cache[7][CacheSize]
Definition: THDMcache.h:3342
gslpp::complex B00_MZ2_0_MW2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:3038
double ip_ex_gg_H_ZZ_llqq_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3173
gslpp::matrix< double > ATLAS13_gg_phi_Zga_llga
Definition: THDMcache.h:213
double ip_ex_gg_A_hZ_bbll_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3117
double mu_pp_H_VV_TH8
Signal strength for the process with $VV=WW,ZZ$ at the LHC with 8 TeV.
Definition: THDMcache.h:2108
double MWTHDM(const double MW) const
Definition: THDMcache.cpp:7455
double ip_ex_gg_H_ZZ_qqllnunu_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3163
double ip_ex_gg_H_ZZ_llnunu_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3168
gslpp::complex B0p_MZ2_mA2_0_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3026
double ip_ex_pp_H_VV_qqqq_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a scalar resonance decaying to two or ...
Definition: THDMcache.cpp:4456
gslpp::matrix< double > ATLAS13_VBF_H_WW_lnuqq
Definition: THDMcache.h:213
double Mc
Definition: THDMcache.h:2942
gslpp::matrix< double > ATLAS13_gg_A_Zh_Zbb_e
Definition: THDMcache.h:222
const double & real() const
double ip_csr_ggA_b_8_cache[2][CacheSize]
Definition: THDMcache.h:3088
double ggF_A_tautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2655
double pp_H_Zga_llga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2102
double ie9ec[2][CacheSize]
Definition: THDMcache.h:3259
double ip_ex_pp_H_hh_bbtautau1_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5208
double R_ggF_H_ZZ_llnunu_CMS13
Definition: THDMcache.h:2496
double THoEX_pp_H_Zga_llga_CMS13
Definition: THDMcache.h:2481
double ip_ex_mu_pp_H_VV_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two massive...
Definition: THDMcache.cpp:3261
double R_ggF_A_hZ_tautaull_CMS8
Definition: THDMcache.h:2776
gslpp::complex B00_MZ2_0_MW2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3039
double ip_ex_pp_H_ZZ_llll_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3219
lambda4 * mylambda4
Definition: THDMcache.h:2914
double THoEX_pp_A_Zga_llga_ATLAS8
Definition: THDMcache.h:2769
gslpp::matrix< double > ATLAS13_VBF_H_ZZ_llllnunu_e
Definition: THDMcache.h:222
gslpp::matrix< double > temp36
Definition: THDMcache.h:248
double Br_HtoZga
Definition: THDMcache.h:2067
double THoEX_pp_Hp_tb_ATLAS13_2
Definition: THDMcache.h:2871
double Br_HtoAA
branching ratio to two CP-odd Higgs bosons.
Definition: THDMcache.h:2392
double SigmaSumA8
Definition: THDMcache.h:2556
gslpp::complex B0p_MZ2_mHp2_0_mA2(const double MZ2, const double mHp2, const double mA2) const
Definition: THDMcache.cpp:1200
double ip_ex_VBF_H_ZZ_llll_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3171
double ip_ex_gg_H_hh_bbtautau_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3137
double computeSigmaggH(const double sqrt_s) const
The ggH cross section in the Standard Model.
double ggF_A_hZ_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2691
double THoEX_VBF_VH_H_ZZ_llll_CMS13
Definition: THDMcache.h:2505
double ie12e(double mass)
Definition: THDMcache.cpp:5672
gslpp::matrix< double > ATLAS8_pp_phi_Zga_llga
Definition: THDMcache.h:181
double ip_ex_pp_phi_gaga_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3090
double ip_ex_VBF_H_ZZ_llqq_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:4264
gslpp::matrix< double > CMS8_pp_Hp_taunu_e
CMS expected upper cross section limits at 8 TeV, depending on the charged Higgs mass...
Definition: THDMcache.h:272
gslpp::complex B00_MZ2_0_mHl2_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3035
double ip_ex_VBF_H_ZZ_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3111
double ip_ex_tt_phi_tt_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a tt associated scalar resonance decayin...
Definition: THDMcache.cpp:3800
gslpp::complex A_h_D(const double mHl2, const double cW2, const double Md, const double Ms, const double Mb, const double MZ) const
Definition: THDMcache.cpp:7228
double ie22ec[2][CacheSize]
Definition: THDMcache.h:3285
double ie25(double mass)
Definition: THDMcache.cpp:6072
double ip_ex_pp_Hpm_tb_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3328
double ie28c[2][CacheSize]
Definition: THDMcache.h:3296
gslpp::complex B0_MZ2_mHh2_mA2_mA2_cache[4][CacheSize]
Definition: THDMcache.h:2988
gslpp::complex B0p_MZ2_0_mHp2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:3001
double R_pp_Hpm_taunu_ATLAS8
Definition: THDMcache.h:2858
An observable class for the quartic Higgs potential coupling .
double ip_cs_ZtoZH_13_cache[2][CacheSize]
Definition: THDMcache.h:3069
double ie38(double mass)
Definition: THDMcache.cpp:6488
double ip_ex_pp_phi_hh_gagabb_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3121
gslpp::matrix< double > ATLAS13_pp_H_hh_gagaWW_e
Definition: THDMcache.h:222
double ip_ex_gg_H_ZZ_llllnunu_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3992
double ip_ex_bb_phi_tautau_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3128
double ie23e(double mass)
Definition: THDMcache.cpp:6024
double Rpeps
Definition: THDMcache.h:2903
double ie32c[2][CacheSize]
Definition: THDMcache.h:3304
double ip_ex_pp_H_hh_gagabb_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5144
double ggF_H_tt_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2168
double R_pp_H_hh_bbbb_CMS13
Definition: THDMcache.h:2538
double ip_ex_gg_H_WW_lnuqq_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4392
double SigmaggF_A8
Definition: THDMcache.h:2554
gslpp::matrix< double > CMS8_gg_H_hh_bbtautau
Definition: THDMcache.h:201
double THoEX_pp_A_bb_CMS13
Definition: THDMcache.h:2814
double THoEX_pp_Hp_taunu_CMS8
Definition: THDMcache.h:2859
gslpp::matrix< double > CMS13_ggF_phi_Zga_e
Definition: THDMcache.h:238
double ip_ex_gg_phi_tautau_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3149
double ie40e(double mass)
Definition: THDMcache.cpp:6568
gslpp::complex B00_MZ2_MZ2_MZ2_mHh2_cache[3][CacheSize]
Definition: THDMcache.h:3051
double ip_ex_gg_phi_gaga_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:3517
gslpp::matrix< double > temp30e
Definition: THDMcache.h:251
double R_pp_H_hh_bblnulnu_CMS13
Definition: THDMcache.h:2548
gslpp::complex B0p_MZ2_0_mHp2_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3002
double THoEX_ggF_H_tautau_ATLAS8
Definition: THDMcache.h:2412
gslpp::matrix< double > temp36e
Definition: THDMcache.h:252
double R_ttF_A_tt_ATLAS13
Definition: THDMcache.h:2785
double R_ttF_H_tt_ATLAS13
Definition: THDMcache.h:2462
double THoEX_VBF_H_ZZ_llqq_ATLAS13
Definition: THDMcache.h:2513
double ip_ex_VBF_H_WW_enumunu_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3181
double THoEX_ggF_A_hZ_tautaull_CMS8
Definition: THDMcache.h:2775
double ggF_tth13
Ratio of THDM and SM cross sections for ggF and tth production of h at 13 TeV.
Definition: THDMcache.h:1980
double R_ggF_H_Zga_CMS13
Definition: THDMcache.h:2486
double ie26(double mass)
Definition: THDMcache.cpp:6104
double ip_ex_VBF_H_WW_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3106
double ip_ex_gg_H_ZZ_llqq_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4232
double ip_ex_pp_H_hh_bbtautau_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5192
gslpp::complex B0_MZ2_mHl2_mHh2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2977
double ie11(double mass)
Definition: THDMcache.cpp:5624
gslpp::complex A_H_W_cache[5][CacheSize]
Definition: THDMcache.h:3366
gslpp::matrix< double > ATLAS13_bb_phi_tautau_e
Definition: THDMcache.h:222
gslpp::matrix< double > CMS8_pp_A_Zga_llga_e
Definition: THDMcache.h:206
gslpp::matrix< double > CMS8_pp_H_AZ_bbll
Definition: THDMcache.h:201
gslpp::matrix< double > CMS13_gg_phi_gaga
Definition: THDMcache.h:231
double R_pp_A_gaga_ATLAS13
Definition: THDMcache.h:2797
double ggF_H_hh_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2138
gslpp::complex B0_MZ2_mHl2_mHh2_mHl2(const double MZ2, const double mHl2, const double mHh2) const
Definition: THDMcache.cpp:568
gslpp::matrix< double > temp33e
Definition: THDMcache.h:252
Particle getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
double ie36ec[2][CacheSize]
Definition: THDMcache.h:3313
double ip_Br_HPtocc(double mass)
Interpolating function for the SM branching ratio to two charm quarks.
Definition: THDMcache.cpp:2287
double ip_ex_pp_H_hh_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3118
double ip_ex_VBF_H_ZZ_llll_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:4120
double THoEX_VBF_H_ZZ_llll_ATLAS13
Definition: THDMcache.h:2501
double ie9c[2][CacheSize]
Definition: THDMcache.h:3258
gslpp::matrix< double > log_cs_bbH_8
SM Higgs production cross section table at 8 TeV obtained with SusHi 1.5, depending on the Higgs mass...
Definition: THDMcache.h:141
gslpp::complex B00_MZ2_MZ2_MZ2_mHh2(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:1580
gslpp::complex B0_MZ2_0_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const
Definition: THDMcache.cpp:316
int CacheCheckReal(const double cache[][CacheSize], const int NumPar, const double params[]) const
Check whether for the latest set of parameters a value is in the cache.
Definition: THDMcache.cpp:272
double ip_ex_pp_A_HZ_tautaull_CMS8(double mA, double mH)
Interpolating function for the observed CMS upper limit on a pseudoscalar resonance decaying to whic...
Definition: THDMcache.cpp:3736
double ip_ex_pp_phi_Zga_llga_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3155
gslpp::complex B0_MZ2_MZ2_MZ2_mHh2(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:400
double bbF_H_tt_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2348
double R_ggF_H_gaga_CMS8
Definition: THDMcache.h:2423
gslpp::complex B0p_MZ2_mHh2_mHh2_mHh2(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:1130
gslpp::matrix< double > arraybsgamma
table, depending on logtb and the logarithm of the charged Higgs mass.
Definition: THDMcache.h:297
double mHl2
Definition: THDMcache.h:2930
double rHH_VV
Squared relative coupling of to two massive vector bosons.
Definition: THDMcache.h:2380
double ie30ec[2][CacheSize]
Definition: THDMcache.h:3301
gslpp::complex B00_MZ2_MW2_MW2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:3046
gslpp::complex B0_MZ2_0_mA2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2971
double GammaHtotSM
Definition: THDMcache.h:2072
double ie20c[2][CacheSize]
Definition: THDMcache.h:3280
double ie4(double mass)
Definition: THDMcache.cpp:5400
double ip_ex_pp_Hpm_taunu_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6584
double ip_ex_bb_phi_bb_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a bottom quark produced scalar resonance d...
Definition: THDMcache.cpp:3421
double ip_ex_gg_phi_tautau_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:2939
double ie6(double mass)
Definition: THDMcache.cpp:5464
gslpp::complex B0_MZ2_mA2_0_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2993
void CacheShift(gslpp::complex cache[][CacheSize], const int NumPar, const double params[], const gslpp::complex newResult) const
Adds a new result and its parameters into the cache.
Definition: THDMcache.cpp:284
gslpp::complex B0_MZ2_mHl2_0_mHp2(const double MZ2, const double mHl2, const double mHp2) const
Definition: THDMcache.cpp:526
double ip_Br_HPtott(double mass)
Interpolating function for the SM branching ratio to two top quarks.
Definition: THDMcache.cpp:2239
double ip_ex_gg_A_hZ_tautauZ_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3099
gslpp::matrix< double > temp10
Definition: THDMcache.h:245
double ip_ex_pp_Hp_tb_ATLAS13_2(double mass)
Interpolating function for the observed ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6808
double ip_cs_WtoWH_13(double mass)
Interpolating function for the W associated H production cross section at 13 TeV. ...
Definition: THDMcache.cpp:2462
double pp_H_AZ_bbll_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2180
gslpp::matrix< double > CMS13_pp_H_ZZ_llqq_e
Definition: THDMcache.h:238
gslpp::complex B0_MZ2_mHh2_0_mHp2(const double MZ2, const double mHh2, const double mHp2) const
Definition: THDMcache.cpp:638
gslpp::matrix< double > temp27e
Definition: THDMcache.h:251
double ip_ex_pp_Hp_tb_ATLAS13_1_cache[2][CacheSize]
Definition: THDMcache.h:3335
gslpp::matrix< double > ATLAS8_pp_Hpm_taunu
ATLAS observed upper cross section limits at 8 TeV, depending on the charged Higgs mass...
Definition: THDMcache.h:257
double g_HH_HpHm_cache[7][CacheSize]
Definition: THDMcache.h:3343
double ip_ex_mu_pp_H_VV_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two massive...
Definition: THDMcache.cpp:3277
double Br_HtoHpW
branching ratio to two light Higgs bosons.
Definition: THDMcache.h:2410
double THDM_BR_h_gg
branching ratio to two gluons in the THDM.
Definition: THDMcache.h:2046
gslpp::matrix< double > CMS8_gg_A_hZ_tautaull_e
Definition: THDMcache.h:206
double THoEX_pp_H_ZZ_llll_CMS13
Definition: THDMcache.h:2503
m11_2 * mym11_2
Definition: THDMcache.h:2909
gslpp::complex B0_MZ2_mHh2_mHp2_mHp2(const double MZ2, const double mHh2, const double mHp2) const
Definition: THDMcache.cpp:708
gslpp::complex A_HH_L_cache[6][CacheSize]
Definition: THDMcache.h:3364
double ip_ex_gg_H_ZZ_llqq_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3174
double ip_ex_gg_H_ZZ_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3165
double MZ
Definition: THDMcache.h:2948
double ip_cs_ggtoH_13_cache[2][CacheSize]
Definition: THDMcache.h:3063
gslpp::matrix< double > ATLAS13_pp_H_hh_bbbb_e
Definition: THDMcache.h:222
double ip_ex_tt_phi_tt_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3148
gslpp::matrix< double > temp31
Definition: THDMcache.h:248
double R_mu_pp_H_VV_CMS8
Definition: THDMcache.h:2433
double getNLOuniscale() const
Definition: THDM.h:518
double SigmabbF_H8
Definition: THDMcache.h:2057
double ip_ex_ggF_phi_Zga_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3211
A class for constructing and defining operations on real matrices.
double ip_ex_pp_Hpm_taunu_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3331
double R_ggF_H_hh_ATLAS8
Definition: THDMcache.h:2443
double R_ggF_H_tautau_ATLAS13
Definition: THDMcache.h:2466
gslpp::matrix< double > temp23e
Definition: THDMcache.h:251
gslpp::complex B0_MZ2_mHp2_0_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:2990
gslpp::complex B0p_MZ2_mHh2_mA2_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3020
gslpp::matrix< double > CMS13_pp_phi_bb
CMS observed upper cross section limits at 13 TeV, depending on the Higgs mass.
Definition: THDMcache.h:231
double ie7c[2][CacheSize]
Definition: THDMcache.h:3254
double ip_ex_gg_H_WW_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3105
double ggF_tth8
Ratio of THDM and SM cross sections for ggF and tth production of h at 8 TeV.
Definition: THDMcache.h:1974
gslpp::matrix< double > CMS8_pp_H_hh
Definition: THDMcache.h:201
double THoEX_pp_H_hh_bbtautau_CMS13
Definition: THDMcache.h:2543
gslpp::complex B0p_MZ2_mA2_mA2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3029
double GammaHptot
Total decay width of the charged Higgs .
Definition: THDMcache.h:2880
double THoEX_ggF_A_Zga_CMS13
Definition: THDMcache.h:2808
double pp_H_AZ_tautaull_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2186
gslpp::matrix< double > temp3
Definition: THDMcache.h:245
std::string getModelTypeflag() const
Definition: THDM.h:190
gslpp::matrix< double > CMS8_gg_phi_tautau_e
Definition: THDMcache.h:206
double ip_ex_gg_phi_Zga_llga_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3976
double R_pp_H_AZ_tautaull_CMS8
Definition: THDMcache.h:2459
double sumModBRs
Sum of the modified branching ratios.
Definition: THDMcache.h:1998
double THoEX_pp_H_Zga_ATLAS13
Definition: THDMcache.h:2477
Runner * myRunner
Definition: THDMcache.h:2916
gslpp::complex B0_MZ2_mHl2_mHp2_mHp2(const double MZ2, const double mHl2, const double mHp2) const
Definition: THDMcache.cpp:596
double Ale
Definition: THDMcache.h:2937
double ip_cs_pptobbA_8(double mass)
Interpolating function for the bottom associated A production cross section at 8 TeV.
Definition: THDMcache.cpp:2671
double ip_ex_pp_Hp_tb_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a singly charged scalar resonance decaying...
Definition: THDMcache.cpp:6696
gslpp::matrix< double > CMS8_pp_A_HZ_tautaull
Definition: THDMcache.h:201
double THoEX_ggF_H_Zga_llga_ATLAS13
Definition: THDMcache.h:2479
gslpp::matrix< double > temp33
Definition: THDMcache.h:248
double THoEX_pp_H_hh_bbtautau1_CMS13
Definition: THDMcache.h:2545
double ip_ex_pp_H_hh_bbVV_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5272
double R_VBF_H_ZZ_qqllnunu_ATLAS13
Definition: THDMcache.h:2510
double bma
Definition: THDMcache.h:2919
double ie17e(double mass)
Definition: THDMcache.cpp:5832
double computeThValue()
The quartic coupling .
gslpp::complex A_h_U_cache[7][CacheSize]
Definition: THDMcache.h:3357
double R_ggF_H_WW_enumunu_ATLAS13
Definition: THDMcache.h:2524
gslpp::complex B00_MZ2_MZ2_MZ2_mHl2(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:1594
double tanb
Definition: THDMcache.h:2921
gslpp::complex B0_MZ2_mA2_0_mHl2(const double MZ2, const double mA2, const double mHl2) const
Definition: THDMcache.cpp:792
double ip_ex_pp_H_hh_gagabb_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a scalar resonance decaying to two boso...
Definition: THDMcache.cpp:4520
double pp_A_HZ_tautaull_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2649
double THoEX_pp_H_ZZ_llqq_CMS13
Definition: THDMcache.h:2517
gslpp::matrix< double > ATLAS13_gg_H_ZZ_nunuqq_e
Definition: THDMcache.h:222
gslpp::matrix< double > log_cs_VBF_8
Definition: THDMcache.h:121
double computeThValue()
The quartic coupling .
double ip_ex_pp_H_hh_bbtautau1_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3235
gslpp::matrix< double > ATLAS13_VBF_H_ZZ_llll_e
Definition: THDMcache.h:222
double ip_ex_pp_H_ZZ_llll_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:4968
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
double pp_Hpm_taunu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2849
gslpp::complex A_h_U(const double mHl2, const double cW2, const double Mu, const double Mc, const double Mt, const double MZ) const
Definition: THDMcache.cpp:7167
double ggF_H_gaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2210
gslpp::matrix< double > ATLAS13_pp_Hp_tb1_e
Definition: THDMcache.h:282
double ip_ex_VBF_H_ZZ_qqllnunu_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3165
double R_ggF_H_hh_bbtautau_CMS8
Definition: THDMcache.h:2447
double R_pp_H_hh_bbbb_ATLAS13
Definition: THDMcache.h:2536
double MW
Definition: THDMcache.h:2934
double ie7(double mass)
Definition: THDMcache.cpp:5496
double ip_ex_VBF_H_ZZ_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:3197
double ip_ex_gg_A_hZ_bbll_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon produced pseudoscalar resona...
Definition: THDMcache.cpp:3293
gslpp::matrix< double > ATLAS13_tt_phi_tt_e
Definition: THDMcache.h:222
double R_ggF_H_tautau_ATLAS8
Definition: THDMcache.h:2413
double ip_ex_bb_phi_tautau_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a bb associated scalar resonance decayin...
Definition: THDMcache.cpp:3864
double ip_ex_pp_H_hh_bbtautau_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3233
gslpp::matrix< double > csrH_top_8
Production cross section ratio tables at 8 TeV obtained with HIGLU 4.34, depending on the Higgs mass...
Definition: THDMcache.h:171
gslpp::matrix< double > temp23
Definition: THDMcache.h:247
double WFRcomb1
Definition: THDMcache.h:2899
double ie31e(double mass)
Definition: THDMcache.cpp:6280
double ip_csr_ggA_b_13(double mass)
Interpolating function for the gluon-gluon fusion A cross section ratio of the bottom-loop and the to...
Definition: THDMcache.cpp:2859
gslpp::matrix< double > ATLAS13_gg_H_ZZ_llll
Definition: THDMcache.h:213
gslpp::complex B0_MZ2_mHl2_0_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:2974
double SigmattF_H13
Definition: THDMcache.h:2061
gslpp::complex I_HH_L(const double mHh2, const double Mmu, const double Mtau) const
Definition: THDMcache.cpp:7104
double R_pp_H_Zga_ATLAS13
Definition: THDMcache.h:2478
double ggF_H_hh_bbtautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2150
double ie35e(double mass)
Definition: THDMcache.cpp:6408
double ip_ex_pp_phi_Zga_qqga_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to a boson an...
Definition: THDMcache.cpp:4792
gslpp::matrix< double > ATLAS8_gg_H_ZZ
Definition: THDMcache.h:181
double THoEX_pp_H_Zga_qqga_CMS13
Definition: THDMcache.h:2483
double ip_ex_gg_H_hh_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3229
double ggF_A_gaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2673
double BrSM_htobb
SM branching ratio of .
Definition: THDMcache.h:1915
double ip_ex_gg_phi_tautau_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3150
gslpp::matrix< double > CMS13_pp_H_hh_bbVV
Definition: THDMcache.h:231
double ip_Br_HPtotautau_cache[2][CacheSize]
Definition: THDMcache.h:3056
gslpp::matrix< double > CMS8_pp_H_hh_bbbb
Definition: THDMcache.h:201
double ip_ex_gg_A_hZ_tautauZ_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3098
gslpp::matrix< double > ATLAS8_VBF_H_WW
Definition: THDMcache.h:181
double SigmattF_A13
Definition: THDMcache.h:2559
double ip_ex_mu_pp_H_VV_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3114
double pp_H_hh_bbtautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2324
gslpp::complex A_A_U(const double mA2, const double cW2, const double Mc, const double Mt, const double MZ) const
Definition: THDMcache.cpp:7209
gslpp::complex A_HH_D_cache[6][CacheSize]
Definition: THDMcache.h:3361
double lambda2_at_Q
Definition: THDMcache.h:2895
gslpp::matrix< double > ATLAS8_gg_phi_tt_e
Definition: THDMcache.h:186
double ie18(double mass)
Definition: THDMcache.cpp:5848
double R_pp_H_VV_qqqq_ATLAS13
Definition: THDMcache.h:2530
double ie31c[2][CacheSize]
Definition: THDMcache.h:3302
double ie15e(double mass)
Definition: THDMcache.cpp:5768
gslpp::complex B0p_MZ2_mHp2_0_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3021
double R_ggF_A_hZ_bbZ_ATLAS13
Definition: THDMcache.h:2811
void computeAlimits()
double ip_ex_VBF_H_WW_lnuqq_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a VBF produced scalar resonance decaying...
Definition: THDMcache.cpp:4408
double R_ggF_H_WW_ATLAS8
Definition: THDMcache.h:2435
double THoEX_ggF_A_tautau_CMS13
Definition: THDMcache.h:2792
double ip_ex_pp_A_Zga_llga_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3135
double ip_ex_pp_H_hh_bbVV_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5288
double ggF_H_ZZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2114
double ip_ex_VBF_H_ZZ_llnunu_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a VBF produced scalar resonance decaying t...
Definition: THDMcache.cpp:4936
gslpp::complex A_HH_U_cache[6][CacheSize]
Definition: THDMcache.h:3358
gslpp::matrix< double > temp20e
Definition: THDMcache.h:250
double ip_ex_pp_phi_gaga_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a scalar resonance decaying to two photo...
Definition: THDMcache.cpp:2875
lambda2 * mylambda2
Definition: THDMcache.h:2912
gslpp::matrix< double > CMS13_pp_H_hh_bbtautau1
Definition: THDMcache.h:231
double pp_H_VV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2288
double computeSigmaZH(const double sqrt_s) const
The ZH production cross section in the Standard Model.
double ie38ec[2][CacheSize]
Definition: THDMcache.h:3317
double ip_cs_WtoWH_13_cache[2][CacheSize]
Definition: THDMcache.h:3067
gslpp::matrix< double > csrA_top_13
Definition: THDMcache.h:176
gslpp::matrix< double > temp11e
Definition: THDMcache.h:250
double ip_ex_gg_H_ZZ_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3108
double THoEX_pp_H_VV_qqqq_ATLAS13
Definition: THDMcache.h:2529
complex pow(const complex &z1, const complex &z2)
double THoEX_pp_Hp_tb_ATLAS13
Definition: THDMcache.h:2873
double ip_ex_gg_phi_gaga_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:4728
double ip_ex_pp_H_hh_gagabb_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3191
double ip_csr_ggA_t_8_cache[2][CacheSize]
Definition: THDMcache.h:3086
double ggF_A_hZ_bbZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2613
double ip_ex_pp_H_hh_bbbb_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3189
lambda3 * mylambda3
Definition: THDMcache.h:2913
double ie27e(double mass)
Definition: THDMcache.cpp:6152
double ip_cs_ggtoA_8_cache[2][CacheSize]
Definition: THDMcache.h:3074
gslpp::matrix< double > ATLAS13_bb_phi_tautau
Definition: THDMcache.h:213
double ip_ex_pp_H_ZZ_llnunu_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3213
double ip_ex_VBF_H_ZZ_llllnunu_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3161
double THoEX_ggF_H_gaga_CMS13
Definition: THDMcache.h:2475
gslpp::matrix< double > ATLAS13_bb_A_Zh_Zbb
Definition: THDMcache.h:213
double ip_ex_gg_phi_tautau_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3127
double THoEX_pp_H_gaga_ATLAS13
Definition: THDMcache.h:2473
double ie12c[2][CacheSize]
Definition: THDMcache.h:3264
gslpp::complex B0p_MZ2_0_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const
Definition: THDMcache.cpp:878
gslpp::complex B0p_MZ2_mHl2_mHh2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:3010
double ip_cs_pptottA_8_cache[2][CacheSize]
Definition: THDMcache.h:3076
gslpp::matrix< double > log_cs_ttA_13
Definition: THDMcache.h:156
gslpp::matrix< double > readTable(std::string filename, int rowN, int colN)
This function reads values from a table and returns them as an array.
Definition: THDMcache.cpp:6856
double THoEX_bbF_A_tautau_ATLAS8
Definition: THDMcache.h:2759
double ggF_H_tautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2078
double ip_ex_pp_H_VV_qqqq_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3188
double ip_cs_ZtoZH_13(double mass)
Interpolating function for the Z associated H production cross section at 13 TeV. ...
Definition: THDMcache.cpp:2500
double ggF_A_tautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2571
double ip_GammaHPtotSM(double mass)
Interpolating function for the total SM Higgs decay width.
Definition: THDMcache.cpp:2351
double ie6ec[2][CacheSize]
Definition: THDMcache.h:3253
double ip_ex_pp_H_hh_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:3325
double ie31ec[2][CacheSize]
Definition: THDMcache.h:3303
double THoEX_ggF_H_hh_bbbb_CMS13
Definition: THDMcache.h:2539
gslpp::complex B0p_MZ2_mHh2_0_mHp2(const double MZ2, const double mHh2, const double mHp2) const
Definition: THDMcache.cpp:1074
gslpp::matrix< double > temp13e
Definition: THDMcache.h:250
double THoEX_ggF_H_gaga_CMS8
Definition: THDMcache.h:2422
double ip_cs_ggtoHp_13(double mHp, double logtb)
Interpolating function for the H+ production cross section from two gluons at 13 TeV.
Definition: THDMcache.cpp:2728
double ip_ex_bb_phi_tautau_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3203
double getBDstartaunu_A() const
Definition: THDM.h:478
double ip_ex_pp_H_ZZ_llqq_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3224
gslpp::matrix< double > ATLAS13_gg_H_ZZ_qqllnunu_e
Definition: THDMcache.h:222
double pp_A_bb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2715
double THoEX_ggF_H_WW_lnuqq_ATLAS13
Definition: THDMcache.h:2519
double computeGammaHTotal() const
The Higgs total width in the Standard Model.
double ip_ex_VBF_H_ZZ_qqllnunu_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a VBF produced scalar resonance decaying...
Definition: THDMcache.cpp:4184
double BrSM_htogaga
SM branching ratio of .
Definition: THDMcache.h:1921
gslpp::complex B0_MZ2_mA2_0_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:2994
double ie25e(double mass)
Definition: THDMcache.cpp:6088
gslpp::complex B00_MZ2_MZ2_mHh2_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3048
double THoEX_pp_H_AZ_tautaull_CMS8
Definition: THDMcache.h:2458
double ggF_H_Zga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2222
gslpp::matrix< double > log_cs_ggHp_13
Charged Higgs production cross section table at 13 TeV from LHCHXSWGMSSMCharged, depending on the cha...
Definition: THDMcache.h:166
double ip_ex_pp_H_hh_bbVV_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3240
double VBF_VH_H_ZZ_llll_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2264
double Br_Htohh
branching ratio to two light Higgs bosons.
Definition: THDMcache.h:2386
double THoEX_bbF_A_tautau_CMS13
Definition: THDMcache.h:2794
double R_ggF_A_Zga_llga_ATLAS13
Definition: THDMcache.h:2801
gslpp::matrix< double > CMS13_pp_H_ZZ_llqq
Definition: THDMcache.h:231
double THoEX_ggF_A_tautau_ATLAS8
Definition: THDMcache.h:2755
double ie24(double mass)
Definition: THDMcache.cpp:6040
double ie20(double mass)
Definition: THDMcache.cpp:5912
double R_pp_Hpm_taunu_CMS13
Definition: THDMcache.h:2868
double ip_ex_pp_H_hh_bbbb_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a spin-2 resonance decaying to two boso...
Definition: THDMcache.cpp:4488
double ggF_VBF_H_WW_lnulnu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2282
double Br_Atott
Definition: THDMcache.h:2563
double ip_cs_WtoWH_8_cache[2][CacheSize]
Definition: THDMcache.h:3066
gslpp::complex A_h_L_cache[7][CacheSize]
Definition: THDMcache.h:3363
double R_pp_H_hh_bbtautau_CMS13
Definition: THDMcache.h:2544
double ip_ex_bb_phi_tt_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3146
double ip_ex_pp_phi_Zga_llga_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to a boson an...
Definition: THDMcache.cpp:4760
double R_ggF_H_ZZ_ATLAS8
Definition: THDMcache.h:2439
double ip_ex_pp_H_hh_bblnulnu_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5256
gslpp::matrix< double > CMS8_mu_pp_H_VV
CMS observed upper signal strength limits at 8 TeV, depending on the Higgs mass. ...
Definition: THDMcache.h:191
double ip_ex_pp_H_hh_bblnulnu_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3238
gslpp::matrix< double > csrH_bottom_13
Definition: THDMcache.h:176
gslpp::complex B0_MZ2_mA2_mA2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2995
double BrSM_htotautau
SM branching ratio of .
Definition: THDMcache.h:1927
double THoEX_pp_A_Zga_llga_CMS8
Definition: THDMcache.h:2767
double cW2
Definition: THDMcache.h:2935
double ip_ex_pp_Hpm_taunu_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3332
gslpp::matrix< double > temp9
Definition: THDMcache.h:245
double ie38c[2][CacheSize]
Definition: THDMcache.h:3316
double bbF_H_tautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2084
double ggF_H_WW_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2270
gslpp::matrix< double > ATLAS13_VBF_H_ZZ_qqllnunu
Definition: THDMcache.h:213
gslpp::complex B0p_MZ2_mHl2_mHp2_mHp2(const double MZ2, const double mHl2, const double mHp2) const
Definition: THDMcache.cpp:1032
double THoEX_ggF_H_tautau_ATLAS13
Definition: THDMcache.h:2465
gslpp::matrix< double > temp19
Definition: THDMcache.h:246
gslpp::complex g_func(const double x) const
g function for the Int1 function
Definition: THDMcache.cpp:7398
double ip_ex_bb_phi_bb_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3125
double ie17c[2][CacheSize]
Definition: THDMcache.h:3274
gslpp::matrix< double > ATLAS13_pp_phi_gaga
Definition: THDMcache.h:213
gslpp::matrix< double > temp12e
Definition: THDMcache.h:250
double ip_ex_VBF_H_ZZ_qqllnunu_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a VBF produced scalar resonance decaying...
Definition: THDMcache.cpp:4200
double R_pp_H_hh_bbtautau1_CMS13
Definition: THDMcache.h:2546
gslpp::complex getV_tb() const
A member for returning the value of the CKM element .
Definition: CKM.h:260
gslpp::complex B00_MZ2_MW2_mA2_mHp2_cache[5][CacheSize]
Definition: THDMcache.h:3042
gslpp::matrix< double > temp34e
Definition: THDMcache.h:252
gslpp::complex B0p_MZ2_mHh2_mHh2_mHh2_cache[3][CacheSize]
Definition: THDMcache.h:3018
double ie21c[2][CacheSize]
Definition: THDMcache.h:3282
double ie18ec[2][CacheSize]
Definition: THDMcache.h:3277
double ip_ex_gg_phi_tautau_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:3453
double getAle() const
A get method to retrieve the fine-structure constant .
double R_bbF_A_hZ_bbZ_ATLAS13
Definition: THDMcache.h:2813
gslpp::matrix< double > ATLAS8_bb_phi_tautau_e
Definition: THDMcache.h:186
gslpp::matrix< double > temp22
Definition: THDMcache.h:247
double ip_ex_gg_A_hZ_tautauZ_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced pseudoscalar reso...
Definition: THDMcache.cpp:3003
gslpp::complex B0p_MZ2_mA2_0_mHl2(const double MZ2, const double mA2, const double mHl2) const
Definition: THDMcache.cpp:1242
gslpp::complex Int1(const double tau, const double lambda) const
function for Z gamma coupling to h, H and A
Definition: THDMcache.cpp:7412
double ip_ex_gg_H_ZZ_nunuqq_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3178
double ip_ex_VBF_H_ZZ_llnunu_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3217
static const complex & i()
m22_2 * mym22_2
Definition: THDMcache.h:2910
gslpp::matrix< double > ATLAS8_VBF_H_WW_e
Definition: THDMcache.h:186
double ip_ex_gg_phi_gaga_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3205
double ip_ex_pp_phi_gaga_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a scalar resonance decaying to two photo...
Definition: THDMcache.cpp:3896
double ip_ex_VBF_H_WW_enumunu_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:4360
double ip_ex_pp_A_Zga_llga_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a pseudoscalar resonance decaying to a Z b...
Definition: THDMcache.cpp:3608
double R_pp_H_gaga_ATLAS8
Definition: THDMcache.h:2421
double ip_ex_bb_phi_tautau_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3096
double R_bbF_H_tautau_CMS8
Definition: THDMcache.h:2419
double THoEX_pp_Hpm_taunu_CMS13
Definition: THDMcache.h:2867
double ip_ex_pp_H_hh_gagaWW_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4552
double ip_ex_pp_Hpm_taunu_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3324
double BDtaunu_B
Definition: THDMcache.h:2925
gslpp::matrix< double > temp2
Definition: THDMcache.h:245
double ie29c[2][CacheSize]
Definition: THDMcache.h:3298
double ie19(double mass)
Definition: THDMcache.cpp:5880
gslpp::matrix< double > log_cs_ggH_8
SM Higgs production cross section tables at 8 TeV from the LHC Higgs Cross Section Working Group...
Definition: THDMcache.h:121
gslpp::complex B0p_MZ2_mHp2_0_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3023
double ie15(double mass)
Definition: THDMcache.cpp:5752
double getBDtaunu_SM() const
Definition: THDM.h:446
double ip_ex_gg_phi_tautau_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:4680
gslpp::complex I_A_L_cache[4][CacheSize]
Definition: THDMcache.h:3353
double THoEX_bbF_A_hZ_bbZ_ATLAS13
Definition: THDMcache.h:2812
double R_ggF_A_hZ_tautauZ_ATLAS8
Definition: THDMcache.h:2778
gslpp::matrix< double > temp34
Definition: THDMcache.h:248
double bbF_H_tautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2198
gslpp::matrix< double > ATLAS13_gg_H_WW_lnuqq_e
Definition: THDMcache.h:222
gslpp::complex I_A_D(const double mA2, const double Ms, const double Mb) const
Definition: THDMcache.cpp:7069
double lambda5_at_Q
Definition: THDMcache.h:2898
gslpp::matrix< double > ATLAS13_gg_H_ZZ_llll_e
Definition: THDMcache.h:222
double ip_Br_HPtott_cache[2][CacheSize]
Definition: THDMcache.h:3054
double THoEX_ggF_A_hZ_bbll_CMS8
Definition: THDMcache.h:2771
double R_ggF_H_ZZ_llll_ATLAS13
Definition: THDMcache.h:2500
double ie11c[2][CacheSize]
Definition: THDMcache.h:3262
gslpp::matrix< double > temp13
Definition: THDMcache.h:246
double R_pp_A_bb_CMS13
Definition: THDMcache.h:2815
THDM branching ratio of .
Definition: lightHiggs.h:21
gslpp::matrix< double > ATLAS8_gg_H_hh_e
Definition: THDMcache.h:186
double SigmaVH_H13
Definition: THDMcache.h:2064
CKM getCKM() const
A get method to retrieve the member object of type CKM.
double ip_cs_pptottA_13_cache[2][CacheSize]
Definition: THDMcache.h:3077
Definition: QCD.h:615
gslpp::matrix< double > ATLAS13_bb_phi_tt
ATLAS observed upper cross section limits at 13 TeV, depending on the Higgs mass.
Definition: THDMcache.h:213
gslpp::complex I_h_L_cache[5][CacheSize]
Definition: THDMcache.h:3351
double SigmaggF_H8
Definition: THDMcache.h:2056
gslpp::matrix< double > CMS13_pp_H_hh_bbbb
Definition: THDMcache.h:231
double R_ggF_H_hh_gagaWW_ATLAS13
Definition: THDMcache.h:2542
double getbma() const
Definition: THDM.h:254
double R_pp_A_HZ_tautaull_CMS8
Definition: THDMcache.h:2819
double ip_cs_pptobbA_13_cache[2][CacheSize]
Definition: THDMcache.h:3079
gslpp::complex B00_MZ2_MZ2_mHl2_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3049
gslpp::complex B0p_MZ2_mHh2_mHh2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3017
gslpp::matrix< double > CMS8_bb_phi_bb_e
Definition: THDMcache.h:206
double Ytau1_at_Q
Definition: THDMcache.h:2889
double R_ggF_A_gaga_CMS8
Definition: THDMcache.h:2766
~THDMcache()
THDMcache destructor.
Definition: THDMcache.cpp:246
double ip_ex_gg_A_Zh_Zbb_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced pseudoscalar reso...
Definition: THDMcache.cpp:4568
double THoEX_pp_Hpm_taunu_ATLAS8
Definition: THDMcache.h:2857
gslpp::matrix< double > CMS8_gg_phi_tautau
Definition: THDMcache.h:201
gslpp::complex B0p_MZ2_mA2_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const
Definition: THDMcache.cpp:1298
gslpp::complex B00_MZ2_0_mHl2_mA2(const double MZ2, const double mHl2, const double mA2) const
Definition: THDMcache.cpp:1356
gslpp::matrix< double > temp29e
Definition: THDMcache.h:251
gslpp::matrix< double > ATLAS13_gg_H_ZZ_llnunu_e
Definition: THDMcache.h:222
double ie5ec[2][CacheSize]
Definition: THDMcache.h:3251
double ie37ec[2][CacheSize]
Definition: THDMcache.h:3315
gslpp::matrix< double > CMS8_bb_phi_tautau
Definition: THDMcache.h:201
gslpp::matrix< double > CMS13_pp_phi_Zga_llga_e
Definition: THDMcache.h:238
double ip_ex_pp_phi_hh_gagabb_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:3373
double ip_cs_pptottH_8(double mass)
Interpolating function for the top associated H production cross section at 8 TeV.
Definition: THDMcache.cpp:2519
double Mb
Definition: THDMcache.h:2940
double R_ggF_A_gaga_CMS13
Definition: THDMcache.h:2799
gslpp::complex B00_MZ2_0_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const
Definition: THDMcache.cpp:1412
double ggF_H_tautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2192
double ip_ex_gg_H_ZZ_qqllnunu_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4168
gslpp::matrix< double > csrA_bottom_8
Definition: THDMcache.h:171
gslpp::complex B0p_MZ2_mHl2_mHp2_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:3011
int HSTheta(const double x) const
Heaviside function.
Definition: THDMcache.cpp:7425
double ip_csr_ggA_t_8(double mass)
Interpolating function for the gluon-gluon fusion A cross section ratio of the top-loop and the total...
Definition: THDMcache.cpp:2811
double SigmaVBF_H13
Definition: THDMcache.h:2063
double ip_ex_VBF_H_ZZ_llqq_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:4248
double THoEX_pp_H_hh_bblnulnu_CMS13
Definition: THDMcache.h:2547
gslpp::matrix< double > log_cs_VBF_13
Definition: THDMcache.h:126
gslpp::complex I_A_D_cache[4][CacheSize]
Definition: THDMcache.h:3350
gslpp::complex B0p_MZ2_mHp2_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const
Definition: THDMcache.cpp:1228
gslpp::matrix< double > CMS8_pp_Hp_taunu
CMS observed upper cross section limits at 8 TeV, depending on the charged Higgs mass...
Definition: THDMcache.h:267
double ip_ex_tt_phi_tt_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3147
double ie9(double mass)
Definition: THDMcache.cpp:5560
An observable class for the quadratic Higgs potential coupling .
A model class for the Standard Model.
double ie28ec[2][CacheSize]
Definition: THDMcache.h:3297
gslpp::matrix< double > CMS13_pp_H_hh_gagabb
Definition: THDMcache.h:231
double ip_ex_pp_H_ZZ_llqq_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5016
double ip_ex_ggVV_H_WW_lnulnu_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3225
double ip_ex_VBF_H_ZZ_llllnunu_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3162
double ie36e(double mass)
Definition: THDMcache.cpp:6440
double ip_ex_pp_Hp_tb_ATLAS13_2_cache_e[2][CacheSize]
Definition: THDMcache.h:3338
double ie26ec[2][CacheSize]
Definition: THDMcache.h:3293
gslpp::matrix< double > temp28
Definition: THDMcache.h:247
double THoEX_ggF_H_ZZ_nunuqq_ATLAS13
Definition: THDMcache.h:2515
gslpp::matrix< double > ATLAS13_gg_phi_tautau_e
Definition: THDMcache.h:222
double bbF_A_bb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2637
double ghHpHm(const double mHp2, const double tanb, const double m12_2, const double bma, const double mHl2, const double vev) const
Definition: THDMcache.cpp:6951
double SigmabbF_H13
Definition: THDMcache.h:2062
double SigmaSumA13
Definition: THDMcache.h:2560
gslpp::complex B0p_MZ2_mHp2_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const
Definition: THDMcache.cpp:1214
double THoEX_ggF_H_ZZ_llllnunu_ATLAS13
Definition: THDMcache.h:2487
double THoEX_VBF_H_WW_lnuqq_ATLAS13
Definition: THDMcache.h:2521
double ip_ex_pp_Hp_tb_ATLAS13_2_cache[2][CacheSize]
Definition: THDMcache.h:3337
double ie17ec[2][CacheSize]
Definition: THDMcache.h:3275
double ip_ex_bb_phi_tautau_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a bottom quark produced scalar resonance d...
Definition: THDMcache.cpp:3485
double ip_ex_pp_H_hh_bbtautau1_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5224
gslpp::complex B0_MZ2_mHh2_mHh2_mHl2(const double MZ2, const double mHh2, const double mHl2) const
Definition: THDMcache.cpp:680
double THoEX_ggF_H_WW_enumunu_ATLAS13
Definition: THDMcache.h:2523
double Mu
Definition: THDMcache.h:2945
double ip_Br_HPtoZZ_cache[2][CacheSize]
Definition: THDMcache.h:3059
double ip_ex_pp_H_AZ_tautaull_CMS8(double mA, double mH)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to which furt...
Definition: THDMcache.cpp:3752
double ie13(double mass)
Definition: THDMcache.cpp:5688
gslpp::complex B00_MZ2_0_MZ2_mHh2(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:1426
gslpp::complex I_h_U(const double mHl2, const double Mu, const double Mc, const double Mt) const
Definition: THDMcache.cpp:6983
double THoEX_bbF_A_tautau_ATLAS13
Definition: THDMcache.h:2790
double ie25ec[2][CacheSize]
Definition: THDMcache.h:3291
gslpp::matrix< double > ATLAS13_gg_H_ZZ_qqllnunu
Definition: THDMcache.h:213
double ie33(double mass)
Definition: THDMcache.cpp:6328
double R_bbF_A_bb_CMS8
Definition: THDMcache.h:2782
gslpp::matrix< double > temp21
Definition: THDMcache.h:247
gslpp::matrix< double > ATLAS13_VBF_H_ZZ_llqq_e
Definition: THDMcache.h:222
gslpp::complex B0p_MZ2_mHh2_mHl2_mHl2(const double MZ2, const double mHh2, const double mHl2) const
Definition: THDMcache.cpp:1102
double BDtaunu_A
Definition: THDMcache.h:2924
void assign(const size_t &i, const size_t &j, const double &a)
double ip_ex_pp_A_HZ_tautaull_CMS8_cache[3][CacheSize]
Definition: THDMcache.h:3142
double pp_H_gaga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2090
void computeAquantities()
double ggF_H_hh_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2294
double computeSigmaVBF(const double sqrt_s) const
The VBF cross section in the Standard Model.
double ip_ex_bb_phi_bb_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3124
double rHH_gg
Squared relative coupling of to two photons.
Definition: THDMcache.h:2374
double computeSigmaWH(const double sqrt_s) const
The WH production cross section in the Standard Model.
gslpp::matrix< double > ATLAS13_bb_phi_tt_e
ATLAS expected upper cross section limits at 13 TeV, depending on the Higgs mass.
Definition: THDMcache.h:222
double R_bbF_A_tautau_ATLAS8
Definition: THDMcache.h:2760
double Md
Definition: THDMcache.h:2946
double pp_A_gaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2667
double Mt
Definition: THDMcache.h:2939
double R_VBF_H_WW_ATLAS8
Definition: THDMcache.h:2437
gslpp::matrix< double > CMS13_pp_phi_Zga_llga
Definition: THDMcache.h:231
double ip_ex_pp_Hp_taunu_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3326
double THoEX_ggF_H_Zga_CMS13
Definition: THDMcache.h:2485
double ie15ec[2][CacheSize]
Definition: THDMcache.h:3271
gslpp::matrix< double > temp38
Definition: THDMcache.h:248
gslpp::complex B0_MZ2_mHh2_mHp2_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:2987
gslpp::complex B0_MZ2_0_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const
Definition: THDMcache.cpp:470
double ip_ex_gg_H_hh_bbtautau_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:3656
double R_bbF_A_tautau_ATLAS13
Definition: THDMcache.h:2791
gslpp::complex B00_MZ2_0_mHh2_mHp2(const double MZ2, const double mHh2, const double mHp2) const
Definition: THDMcache.cpp:1342
double ip_cs_ZtoZH_8(double mass)
Interpolating function for the Z associated H production cross section at 8 TeV.
Definition: THDMcache.cpp:2481
double ip_ex_pp_H_hh_bbbb_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3190
gslpp::complex B0_MZ2_mHh2_mHl2_mHl2(const double MZ2, const double mHh2, const double mHl2) const
Definition: THDMcache.cpp:666
double ip_csr_ggA_t_13(double mass)
Interpolating function for the gluon-gluon fusion A cross section ratio of the top-loop and the total...
Definition: THDMcache.cpp:2827
gslpp::matrix< double > br_tautau
Definition: THDMcache.h:111
double ie6e(double mass)
Definition: THDMcache.cpp:5480
double ip_ex_ggF_H_hh_bbbb_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5128
double Br_Atotautau
Definition: THDMcache.h:2561
double THoEX_pp_Hpm_taunu_ATLAS13
Definition: THDMcache.h:2865
double ip_cs_pptobbA_8_cache[2][CacheSize]
Definition: THDMcache.h:3078
double ip_ex_pp_phi_Zga_llga_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3092
double abs() const
gslpp::complex I_H_W(const double mH, const double MW) const
Definition: THDMcache.cpp:7137
gslpp::matrix< double > temp37
Definition: THDMcache.h:248
gslpp::matrix< double > br_ZZ
Definition: THDMcache.h:111
gslpp::matrix< double > temp25
Definition: THDMcache.h:247
gslpp::matrix< double > ATLAS8_pp_phi_gaga
ATLAS observed upper cross section limits at 8 TeV, depending on the Higgs mass. ...
Definition: THDMcache.h:181
double ip_ex_pp_H_AZ_bbll_CMS8_cache[3][CacheSize]
Definition: THDMcache.h:3141
gslpp::matrix< double > ATLAS8_gg_H_ZZ_e
Definition: THDMcache.h:186
Definition: QCD.h:619
double ip_ex_VBF_H_ZZ_llllnunu_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a VBF produced scalar resonance decaying...
Definition: THDMcache.cpp:4024
double R_VBF_H_ZZ_llnunu_CMS13
Definition: THDMcache.h:2498
double ie34(double mass)
Definition: THDMcache.cpp:6360
double ie5e(double mass)
Definition: THDMcache.cpp:5448
double ip_ex_pp_H_hh_bblnulnu_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3237
double ip_ex_VBF_H_WW_enumunu_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:4344
gslpp::complex I_h_D_cache[5][CacheSize]
Definition: THDMcache.h:3348
gslpp::matrix< double > ATLAS13_gg_H_WW_enumumu
Definition: THDMcache.h:213
double ie26c[2][CacheSize]
Definition: THDMcache.h:3292
double ip_ex_pp_phi_gaga_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a scalar resonance decaying to two photo...
Definition: THDMcache.cpp:3912
double Me
Definition: THDMcache.h:2947
double ip_ex_gg_A_hZ_tautaull_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon produced pseudoscalar resona...
Definition: THDMcache.cpp:3672
double ip_Br_HPtobb_cache[2][CacheSize]
Definition: THDMcache.h:3055
gslpp::matrix< double > temp18
Definition: THDMcache.h:246
double ie11ec[2][CacheSize]
Definition: THDMcache.h:3263
void computeWFRcombinations()
double R_pp_A_gaga_ATLAS8
Definition: THDMcache.h:2764
double ie14c[2][CacheSize]
Definition: THDMcache.h:3268
gslpp::matrix< double > ATLAS8_bb_phi_tautau
Definition: THDMcache.h:181
double THoEX_ggF_A_hZ_bbZ_ATLAS8
Definition: THDMcache.h:2773
double ip_ex_pp_phi_bb_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to a b quark p...
Definition: THDMcache.cpp:4648
double ip_ex_pp_Hpm_taunu_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6600
double R_VBF_VH_H_ZZ_llll_CMS13
Definition: THDMcache.h:2506
double Br_Htotautau
Definition: THDMcache.h:2065
gslpp::matrix< double > temp15e
Definition: THDMcache.h:250
gslpp::complex B0_MZ2_mA2_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const
Definition: THDMcache.cpp:820
gslpp::complex B0p_MZ2_mHl2_0_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:3006
double ip_ex_bb_phi_tautau_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a bottom quark produced scalar resonance...
Definition: THDMcache.cpp:2987
double ie28(double mass)
Definition: THDMcache.cpp:6168
gslpp::complex B0_MZ2_MZ2_MZ2_mHh2_cache[3][CacheSize]
Definition: THDMcache.h:2964
double getAlsMz() const
A get method to access the value of .
double WFRcomb4
Definition: THDMcache.h:2902
gslpp::matrix< double > CMS8_bb_phi_tautau_e
Definition: THDMcache.h:206
double ie32e(double mass)
Definition: THDMcache.cpp:6312
gslpp::complex I_HH_U(const double mHh2, const double Mc, const double Mt) const
Definition: THDMcache.cpp:7001
double ie30c[2][CacheSize]
Definition: THDMcache.h:3300
double ip_cs_VBFtoH_8(double mass)
Interpolating function for the H production cross section via vector boson fusion at 8 TeV...
Definition: THDMcache.cpp:2405
double ip_ex_pp_phi_Zga_llga_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a pseudoscalar resonance decaying to a Z...
Definition: THDMcache.cpp:2907
lambda5 * mylambda5
Definition: THDMcache.h:2915
double pp_Hp_tb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2843
double ip_ex_gg_H_ZZ_llll_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3169
double R_bbF_H_bb_CMS8
Definition: THDMcache.h:2455
gslpp::matrix< double > temp1
data templates
Definition: THDMcache.h:245
double ip_cs_pptottH_13_cache[2][CacheSize]
Definition: THDMcache.h:3071
double pp_Hp_taunu_TH8
Cross section for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2831
double ie8ec[2][CacheSize]
Definition: THDMcache.h:3257
gslpp::matrix< double > CMS13_gg_H_ZZ_llnunu
Definition: THDMcache.h:231
double ie14(double mass)
Definition: THDMcache.cpp:5720
double ip_ex_pp_H_hh_bbbb_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5080
double THoEX_bbF_A_bb_CMS8
Definition: THDMcache.h:2781
double ie15c[2][CacheSize]
Definition: THDMcache.h:3270
double ip_ex_pp_H_hh_gagabb_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3232
gslpp::complex B00_MZ2_MW2_mHp2_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:3045
double WFRcomb2
Definition: THDMcache.h:2900
gslpp::complex B0p_MZ2_mA2_0_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:3027
gslpp::complex B0_MZ2_mHh2_0_0(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:624
double R_VBF_H_WW_enumunu_ATLAS13
Definition: THDMcache.h:2526
gslpp::matrix< double > CMS13_pp_phi_Zga_qqga_e
Definition: THDMcache.h:238
gslpp::matrix< double > log_cs_ZH_13
Definition: THDMcache.h:126
double R_pp_H_bb_CMS13
Definition: THDMcache.h:2552
gslpp::complex B0_MZ2_mHh2_mA2_mA2(const double MZ2, const double mHh2, const double mA2) const
Definition: THDMcache.cpp:722
double ip_Br_HPtotautau(double mass)
Interpolating function for the SM branching ratio to two tau leptons.
Definition: THDMcache.cpp:2271
gslpp::complex B0_MZ2_mHh2_0_mA2_cache[4][CacheSize]
Definition: THDMcache.h:2983
gslpp::matrix< double > br_tt
SM Higgs branching ratio tables (obtained with HDECAY 6.10), depending on the Higgs mass...
Definition: THDMcache.h:111
double THoEX_pp_A_gaga_ATLAS8
Definition: THDMcache.h:2763
gslpp::complex B0_MZ2_mA2_0_mHh2(const double MZ2, const double mA2, const double mHh2) const
Definition: THDMcache.cpp:806
double R_pp_A_Zga_llga_CMS13
Definition: THDMcache.h:2805
double ie10(double mass)
Definition: THDMcache.cpp:5592
double vev
Definition: THDMcache.h:2936
gslpp::complex A_A_L_cache[6][CacheSize]
Definition: THDMcache.h:3365
double ip_ex_pp_H_AZ_tautaull_CMS8_cache[3][CacheSize]
Definition: THDMcache.h:3143
gslpp::matrix< double > ATLAS13_gg_A_Zh_Zbb
Definition: THDMcache.h:213
double ip_ex_pp_H_VV_qqqq_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3187
double THoEX_ggF_A_Zga_llga_ATLAS13
Definition: THDMcache.h:2800
gslpp::complex B0_MZ2_0_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const
Definition: THDMcache.cpp:330
double ip_csr_ggA_t_13_cache[2][CacheSize]
Definition: THDMcache.h:3087
double getMz() const
A get method to access the mass of the boson .
gslpp::matrix< double > ATLAS13_gg_phi_tautau
Definition: THDMcache.h:213
double ip_csr_ggA_b_8(double mass)
Interpolating function for the gluon-gluon fusion A cross section ratio of the bottom-loop and the to...
Definition: THDMcache.cpp:2843
double R_ggF_H_Zga_llga_ATLAS13
Definition: THDMcache.h:2480
double ip_ex_gg_H_ZZ_llnunu_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:4904
double ip_ex_gg_A_hZ_tautaull_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3139
double ie27(double mass)
Definition: THDMcache.cpp:6136
double ip_ex_gg_H_hh_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3113
double THoEX_pp_H_bb_CMS13
Definition: THDMcache.h:2551
double g1_at_Q
Definition: THDMcache.h:2883
gslpp::complex B00_MZ2_0_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const
Definition: THDMcache.cpp:1398
double ie30(double mass)
Definition: THDMcache.cpp:6232
double ip_cs_pptobbH_13_cache[2][CacheSize]
Definition: THDMcache.h:3073
gslpp::complex B00_MZ2_MZ2_mHh2_mA2(const double MZ2, const double mHh2, const double mA2) const
Definition: THDMcache.cpp:1538
gslpp::matrix< double > CMS13_pp_H_ZZ_llnunu
Definition: THDMcache.h:231
gslpp::complex B0_MZ2_MW2_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const
Definition: THDMcache.cpp:386
double Ytop_at_Q
Definition: THDMcache.h:2886
double THoEX_bbF_A_tt_ATLAS13
Definition: THDMcache.h:2786
complex log10(const complex &z)
gslpp::matrix< double > br_WW
Definition: THDMcache.h:111
gslpp::complex B0p_MZ2_0_0_mHh2(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:864
double ip_ex_bb_phi_tautau_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3204
double ip_ex_VBF_H_WW_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:3133
gslpp::complex B0_MZ2_mHl2_mA2_mA2_cache[4][CacheSize]
Definition: THDMcache.h:2980
double ip_Br_HPtoWW(double mass)
Interpolating function for the SM branching ratio to two bosons.
Definition: THDMcache.cpp:2335
double ip_ex_gg_H_ZZ_llllnunu_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3160
double THoEX_ggF_H_tautau_CMS8
Definition: THDMcache.h:2414
gslpp::matrix< double > temp22e
Definition: THDMcache.h:251
double computeThValue()
The quartic coupling .
double ie39ec[2][CacheSize]
Definition: THDMcache.h:3319
gslpp::matrix< double > CMS8_gg_A_hZ_bbll_e
CMS expected upper cross section limits at 8 TeV, depending on the Higgs mass.
Definition: THDMcache.h:206
double ip_ex_VBF_H_WW_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3107
double ie8c[2][CacheSize]
Definition: THDMcache.h:3256
double ip_ex_pp_phi_hh_bbbb_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:3405
double ip_ex_gg_H_ZZ_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3109
gslpp::complex B0_MZ2_mHp2_mHp2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2991
gslpp::complex B0_MZ2_0_0_mHl2_cache[3][CacheSize]
Definition: THDMcache.h:2967
double getBDstartaunu_SM() const
Definition: THDM.h:470
double ip_ex_bsgamma_cache[3][CacheSize]
Definition: THDMcache.h:3340
double R_pp_A_Zga_llga_ATLAS8
Definition: THDMcache.h:2770
double ip_ex_gg_H_ZZ_llnunu_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3216
double ip_cs_VBFtoH_8_cache[2][CacheSize]
Definition: THDMcache.h:3064
double ie36c[2][CacheSize]
Definition: THDMcache.h:3312
double ie4ec[2][CacheSize]
Definition: THDMcache.h:3249
double lambda3_at_Q
Definition: THDMcache.h:2896
double THoEX_ggF_A_gaga_CMS8
Definition: THDMcache.h:2765
gslpp::complex A_A_D_cache[6][CacheSize]
Definition: THDMcache.h:3362
double ie7e(double mass)
Definition: THDMcache.cpp:5512
gslpp::matrix< double > temp38e
Definition: THDMcache.h:252
gslpp::matrix< double > ATLAS13_VBF_H_ZZ_llll
Definition: THDMcache.h:213
double ip_ex_pp_H_hh_bbtautau_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5176
double ie39(double mass)
Definition: THDMcache.cpp:6520
void CacheShiftReal(double cache[][CacheSize], const int NumPar, const double params[], const double newResult) const
Adds a new result and its parameters into the cache.
Definition: THDMcache.cpp:298
gslpp::matrix< double > log_cs_WH_13
Definition: THDMcache.h:126
double ip_ex_ggF_phi_Zga_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:4840
gslpp::matrix< double > temp16
Definition: THDMcache.h:246
double R_pp_A_Zga_llga_CMS8
Definition: THDMcache.h:2768
double ie19ec[2][CacheSize]
Definition: THDMcache.h:3279
An observable class for the quartic Higgs potential coupling .
gslpp::complex I_HH_D_cache[4][CacheSize]
Definition: THDMcache.h:3349
double ip_ex_gg_H_WW_enumunu_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3180
double ie23ec[2][CacheSize]
Definition: THDMcache.h:3287
double ie16ec[2][CacheSize]
Definition: THDMcache.h:3273
const THDM * myTHDM
Definition: THDMcache.h:2907
double ip_ex_VBF_H_ZZ_qqllnunu_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3166
double ip_ex_gg_phi_gaga_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3131
gslpp::matrix< double > temp16e
Definition: THDMcache.h:250
double ip_ex_VBF_H_ZZ_llllnunu_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a VBF produced scalar resonance decaying...
Definition: THDMcache.cpp:4040
double R_ggF_A_Zga_CMS13
Definition: THDMcache.h:2809
double rh_gg
Squared relative coupling of to two gluons.
Definition: THDMcache.h:1968
gslpp::matrix< double > CMS13_ggF_phi_Zga
Definition: THDMcache.h:231
double ip_cs_ggtoHp_8(double mHp, double logtb)
Interpolating function for the H+ production cross section from two gluons at 8 TeV.
Definition: THDMcache.cpp:2709
gslpp::complex B0_MZ2_mHl2_mA2_mA2(const double MZ2, const double mHl2, const double mA2) const
Definition: THDMcache.cpp:610
gslpp::matrix< double > ATLAS13_pp_H_hh_gagaWW
Definition: THDMcache.h:213
double THoEX_ggF_H_ZZ_llll_ATLAS13
Definition: THDMcache.h:2499
double ie25c[2][CacheSize]
Definition: THDMcache.h:3290
double ie2e(double mass)
Definition: THDMcache.cpp:5352
double ip_ex_gg_A_hZ_bbll_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3116
double ip_ex_bb_phi_tautau_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a bottom quark produced scalar resonance d...
Definition: THDMcache.cpp:3501
double rh_gaga
Squared relative coupling of to two photons.
Definition: THDMcache.h:1954
double ie34e(double mass)
Definition: THDMcache.cpp:6376
gslpp::matrix< double > CMS8_gg_phi_gaga
Definition: THDMcache.h:201
double ip_ex_pp_phi_Zga_llga_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to a boson an...
Definition: THDMcache.cpp:4776
double R_pp_H_Zga_llga_CMS8
Definition: THDMcache.h:2429
double R_ggF_H_ZZ_llqq_ATLAS13
Definition: THDMcache.h:2512
Definition: QCD.h:607
double ip_cs_ggtoA_13_cache[2][CacheSize]
Definition: THDMcache.h:3075
double ip_ex_bb_phi_tt_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3145
gslpp::complex B0_MZ2_0_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const
Definition: THDMcache.cpp:484
gslpp::complex A_H_W(const double mH, const double cW2, const double MW, const double MZ) const
Definition: THDMcache.cpp:7351
gslpp::complex B0p_MZ2_0_mHp2_mA2(const double MZ2, const double mHp2, const double mA2) const
Definition: THDMcache.cpp:906
double ie34ec[2][CacheSize]
Definition: THDMcache.h:3309
double ie1c[2][CacheSize]
Definition: THDMcache.h:3242
double SigmaggF_A13
Definition: THDMcache.h:2557
double ip_ex_pp_phi_hh_bbbb_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3123
gslpp::complex I_H_Hp(const double mHp2, const double mH) const
Definition: THDMcache.cpp:7152
double THoEX_pp_A_gaga_ATLAS13
Definition: THDMcache.h:2796
gslpp::matrix< double > CMS13_VBF_H_ZZ_llnunu
Definition: THDMcache.h:231
double Br_HtoAZ
branching ratio to two light Higgs bosons.
Definition: THDMcache.h:2404
double ip_ex_pp_H_hh_bbbb_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5096
double pp_H_ZZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2228
double ip_ex_VBF_H_ZZ_llnunu_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3218
double ip_ex_gg_H_ZZ_llnunu_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:4888
gslpp::matrix< double > ATLAS13_pp_Hp_tb2
Definition: THDMcache.h:277
gslpp::matrix< double > CMS13_bb_phi_tautau
Definition: THDMcache.h:231
double getcosb() const
Definition: THDM.h:246
double ip_ex_bsgamma(double logtb, double logmHp)
Interpolating function for the NNLO value for the branching ratio of decays in the THDM...
Definition: THDMcache.cpp:6840
double ip_ex_gg_phi_tautau_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:4664
gslpp::matrix< double > temp4e
Definition: THDMcache.h:249
double THoEX_VBF_H_ZZ_ATLAS8
Definition: THDMcache.h:2440
gslpp::complex B0_MZ2_mA2_mA2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:2996
void computeHHquantities()
Definition: THDMcache.cpp:7604
gslpp::matrix< double > ATLAS13_pp_H_VV_qqqq_e
Definition: THDMcache.h:222
double Br_HtoZZ
Definition: THDMcache.h:2068
gslpp::complex B0_MZ2_0_MW2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2959
gslpp::matrix< double > temp30
Definition: THDMcache.h:247
double ie19c[2][CacheSize]
Definition: THDMcache.h:3278
double computeThValue()
The quartic coupling .
gslpp::complex I_A_L(const double mA2, const double Mmu, const double Mtau) const
Definition: THDMcache.cpp:7121
double R_pp_Hp_tb_ATLAS13_1
Definition: THDMcache.h:2870
double ie23c[2][CacheSize]
Definition: THDMcache.h:3286
double ip_ex_gg_phi_tautau_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:3469
gslpp::complex B0_MZ2_mHl2_mHh2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:2978
gslpp::complex B0_MZ2_mHl2_0_0(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:512
double ip_ex_pp_Hpm_tb_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6664
double ip_ex_gg_A_hZ_tautaull_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3138
double ie10c[2][CacheSize]
Definition: THDMcache.h:3260
double ip_ex_pp_phi_bb_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3200
double ip_ex_gg_H_ZZ_llnunu_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3167
double ip_ex_pp_phi_Zga_llga_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3156
gslpp::complex B0p_MZ2_mHh2_0_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:3014
gslpp::complex A_H_Hp(const double mHp2, const double mH, const double cW2, const double MZ) const
Definition: THDMcache.cpp:7369
double ip_ex_pp_phi_Zga_llga_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3207
double BDtaunu_SM
Definition: THDMcache.h:2923
gslpp::matrix< double > ATLAS13_gg_H_WW_enumumu_e
Definition: THDMcache.h:222
double ip_ex_pp_phi_bb_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to a b quark p...
Definition: THDMcache.cpp:4632
double bbF_A_tt_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2709
gslpp::matrix< double > log_cs_bbA_8
Definition: THDMcache.h:151
double SigmabbF_A13
Definition: THDMcache.h:2558
double R_pp_H_Zga_llga_ATLAS8
Definition: THDMcache.h:2431
double pp_H_hh_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2144
gslpp::matrix< double > ATLAS13_VBF_H_ZZ_llllnunu
Definition: THDMcache.h:213
gslpp::complex B0p_MZ2_0_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const
Definition: THDMcache.cpp:920
gslpp::complex B0_MZ2_MZ2_MZ2_mHl2_cache[3][CacheSize]
Definition: THDMcache.h:2965
double ip_cs_ZtoZH_8_cache[2][CacheSize]
Definition: THDMcache.h:3068
gslpp::matrix< double > CMS13_pp_H_hh_bbtautau1_e
Definition: THDMcache.h:238
double ip_ex_VBF_H_WW_enumunu_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3182
double ip_cs_ggtoH_8(double mass)
Interpolating function for the H production cross section via gluon-gluon fusion at 8 TeV...
Definition: THDMcache.cpp:2367
double ip_ex_pp_H_hh_bbtautau_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3234
double ie28e(double mass)
Definition: THDMcache.cpp:6184
double ie16c[2][CacheSize]
Definition: THDMcache.h:3272
gslpp::complex B00_MZ2_MZ2_mHl2_mA2(const double MZ2, const double mHl2, const double mA2) const
Definition: THDMcache.cpp:1552
gslpp::matrix< double > CMS13_pp_H_hh_gagabb_e
Definition: THDMcache.h:238
gslpp::matrix< double > CMS13_ggF_H_hh_bbbb_e
Definition: THDMcache.h:238
double ip_ex_VBF_H_ZZ_llll_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3172
double ip_ex_gg_phi_gaga_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:3533
gslpp::matrix< double > ATLAS13_gg_H_ZZ_llllnunu
Definition: THDMcache.h:213
gslpp::matrix< double > log_cs_ttH_13
SM Higgs production cross section table at 13 TeV obtained with MadGraph 5, depending on the Higgs ma...
Definition: THDMcache.h:136
gslpp::complex I_h_L(const double mHl2, const double Me, const double Mmu, const double Mtau) const
Definition: THDMcache.cpp:7085
double ie37e(double mass)
Definition: THDMcache.cpp:6472
double pp_H_hh_bbbb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2156
double THoEX_pp_H_hh_bbbb_CMS13
Definition: THDMcache.h:2537
double R_ggF_A_hZ_bbZ_ATLAS8
Definition: THDMcache.h:2774
double ip_ex_pp_H_hh_gagabb_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3231
gslpp::complex B0_MZ2_mHh2_mHh2_mHh2_cache[3][CacheSize]
Definition: THDMcache.h:2986
double ie20ec[2][CacheSize]
Definition: THDMcache.h:3281
gslpp::complex B0p_MZ2_0_mA2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:3004
double m12_2
Definition: THDMcache.h:2922
double pp_H_hh_gagabb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2162
double R_ggF_H_gaga_CMS13
Definition: THDMcache.h:2476
double THoEX_bbF_H_tt_ATLAS13
Definition: THDMcache.h:2463
double pp_Hpm_taunu_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2825
gslpp::matrix< double > temp10e
Definition: THDMcache.h:249
double getQ_THDM() const
Definition: THDM.h:502
double ip_ex_pp_H_hh_bbtautau1_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3236
double ie35c[2][CacheSize]
Definition: THDMcache.h:3310
double ie33e(double mass)
Definition: THDMcache.cpp:6344
gslpp::matrix< double > ATLAS13_VBF_H_ZZ_qqllnunu_e
Definition: THDMcache.h:222
double Gamma_h
Total h decay rate in the THDM.
Definition: THDMcache.h:2004
double KaellenFunction(const double a2, const double b2, const double c2) const
Kaellen function.
Definition: THDMcache.cpp:7431
double computeSigmaggH_bb(const double sqrt_s) const
The square of the bottom-quark contribution to the ggH cross section in the Standard Model...
gslpp::matrix< double > temp37e
Definition: THDMcache.h:252
gslpp::complex B0p_MZ2_mA2_mA2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:3030
double ggF_A_gaga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2589
gslpp::complex B0p_MZ2_mHh2_0_mA2(const double MZ2, const double mHh2, const double mA2) const
Definition: THDMcache.cpp:1088
gslpp::matrix< double > br_cc
Definition: THDMcache.h:111
gslpp::complex B0_MZ2_mA2_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const
Definition: THDMcache.cpp:834
double BDstartaunu_B
Definition: THDMcache.h:2928
double cW2THDM(const double c02) const
Definition: THDMcache.cpp:7449
gslpp::complex B0p_MZ2_0_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const
Definition: THDMcache.cpp:892
double ip_ex_gg_H_hh_bbtautau_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:3640
double ip_ex_gg_H_hh_bbtautau_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3136
gslpp::complex B0p_MZ2_mHp2_0_mHh2(const double MZ2, const double mHp2, const double mHh2) const
Definition: THDMcache.cpp:1186
double ip_ex_pp_H_hh_bbVV_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3239
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
double ip_ex_bb_phi_tautau_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a b associated scalar resonance decaying t...
Definition: THDMcache.cpp:4712
gslpp::matrix< double > CMS13_gg_phi_gaga_e
Definition: THDMcache.h:238
double Br_Htogaga
Definition: THDMcache.h:2066
double ip_ex_gg_A_hZ_bbZ_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3100
gslpp::matrix< double > ATLAS13_gg_H_ZZ_llqq_e
Definition: THDMcache.h:222
double Br_Htobb
Definition: THDMcache.h:2071
gslpp::matrix< double > CMS13_ggFVBF_H_WW_lnulnu_e
Definition: THDMcache.h:238
gslpp::complex B0_MZ2_0_0_mHh2_cache[3][CacheSize]
Definition: THDMcache.h:2968
gslpp::matrix< double > ATLAS13_gg_H_ZZ_llqq
Definition: THDMcache.h:213
double ip_ex_pp_Hpm_taunu_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3323
gslpp::matrix< double > CMS13_VBF_H_ZZ_llnunu_e
Definition: THDMcache.h:238
double pp_A_gaga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2583
double interpolate2D(gslpp::matrix< double > arrayTab, double x, double y)
Linearly interpolates a table with two parameter dimensions.
Definition: THDMcache.cpp:6919
gslpp::matrix< double > CMS13_pp_H_hh_bbVV_e
Definition: THDMcache.h:238
gslpp::matrix< double > CMS8_pp_H_AZ_tautaull
Definition: THDMcache.h:201
gslpp::matrix< double > temp3e
Definition: THDMcache.h:249
double THoEX_pp_H_hh_bbgaga_CMS13
Definition: THDMcache.h:2533
double VBF_Vh
Ratio of THDM and SM cross sections for VBF and Vh production of h.
Definition: THDMcache.h:1992
gslpp::complex B00(const double mu2, const double p2, const double m02, const double m12) const
.
double ie3c[2][CacheSize]
Definition: THDMcache.h:3246
double ip_Br_HPtomumu(double mass)
Interpolating function for the SM branching ratio to two muons.
Definition: THDMcache.cpp:2303
An RGE running algorithm.
Definition: Runner.h:23
gslpp::complex B0_MZ2_0_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const
Definition: THDMcache.cpp:498
gslpp::matrix< double > log_cs_bbA_13
Definition: THDMcache.h:156
gslpp::matrix< double > CMS8_bb_phi_bb
Definition: THDMcache.h:201
double ip_ex_gg_A_hZ_tautaull_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon produced pseudoscalar resona...
Definition: THDMcache.cpp:3688
gslpp::complex B0p_MZ2_mHh2_0_0(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:1060
double ip_ex_ggF_H_hh_bbbb_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3230
gslpp::matrix< double > temp31e
Definition: THDMcache.h:252
double R_pp_Hp_taunu_CMS8
Definition: THDMcache.h:2860
double THoEX_pp_H_ZZ_llnunu_CMS13
Definition: THDMcache.h:2493
double ip_ex_gg_H_ZZ_llll_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4088
gslpp::complex B00_MZ2_MZ2_MZ2_mHl2_cache[3][CacheSize]
Definition: THDMcache.h:3052
double THoEX_pp_A_Zga_qqga_CMS13
Definition: THDMcache.h:2806
double ip_ex_bb_phi_tautau_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3152
gslpp::matrix< double > CMS13_pp_H_hh_bbtautau
Definition: THDMcache.h:231
double THoEX_VBF_H_ZZ_qqllnunu_ATLAS13
Definition: THDMcache.h:2509
double ip_ex_pp_H_hh_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:3341
double ip_Br_HPtobb(double mass)
Interpolating function for the SM branching ratio to two bottom quarks.
Definition: THDMcache.cpp:2255
double Ybottom1_at_Q
Definition: THDMcache.h:2887
double ie29ec[2][CacheSize]
Definition: THDMcache.h:3299
gslpp::matrix< double > CMS13_pp_H_hh_bblnulnu_e
Definition: THDMcache.h:238
double ip_ex_gg_phi_tautau_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3094
double R_pp_Hpm_tb_ATLAS8
Definition: THDMcache.h:2862
double ie27c[2][CacheSize]
Definition: THDMcache.h:3294
double ip_ex_pp_phi_gaga_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a scalar resonance decaying to two photo...
Definition: THDMcache.cpp:2891
gslpp::complex I_HH_U_cache[4][CacheSize]
Definition: THDMcache.h:3346
double ip_ex_ggVV_H_WW_lnulnu_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon or vector boson fusion produ...
Definition: THDMcache.cpp:5064
gslpp::complex B0_MZ2_MZ2_MZ2_mHl2(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:414
gslpp::complex B0_MZ2_mHl2_0_mA2_cache[4][CacheSize]
Definition: THDMcache.h:2975
gslpp::matrix< double > temp5
Definition: THDMcache.h:245
double ip_ex_gg_H_ZZ_nunuqq_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3177
gslpp::matrix< double > log_cs_ggA_13
CP-odd Higgs production cross section tables at 13 TeV obtained with HIGLU 4.34, depending on the Hig...
Definition: THDMcache.h:156
double ip_ex_ggF_H_hh_bbbb_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3229
double ie20e(double mass)
Definition: THDMcache.cpp:5928
gslpp::matrix< double > CMS13_pp_phi_bb_e
CMS expected upper cross section limits at 13 TeV, depending on the Higgs mass.
Definition: THDMcache.h:238
double ip_GammaHPtotSM_cache[2][CacheSize]
Definition: THDMcache.h:3061
gslpp::matrix< double > CMS13_ggFVBF_H_WW_lnulnu
Definition: THDMcache.h:231
double R_pp_H_ZZ_llnunu_CMS13
Definition: THDMcache.h:2494
double R_pp_H_ZZ_llll_CMS13
Definition: THDMcache.h:2504
gslpp::matrix< double > ATLAS13_VBF_H_WW_lnuqq_e
Definition: THDMcache.h:222
double Ms
Definition: THDMcache.h:2943
double THoEX_pp_A_Zga_llga_CMS13
Definition: THDMcache.h:2804
double ie35ec[2][CacheSize]
Definition: THDMcache.h:3311
double ip_ex_pp_H_ZZ_llnunu_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:4856
double THoEX_pp_A_HZ_tautaull_CMS8
Definition: THDMcache.h:2818
gslpp::complex B00_MZ2_0_MZ2_mHl2_cache[3][CacheSize]
Definition: THDMcache.h:3041
Definition: QCD.h:616
double R_ggF_H_tautau_CMS13
Definition: THDMcache.h:2470
gslpp::complex B0_MZ2_mHh2_mHh2_mHh2(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:694
gslpp::complex B0p_MZ2_mHl2_mHl2_mHl2(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:990
gslpp::matrix< double > temp14e
Definition: THDMcache.h:250
gslpp::complex B00_MZ2_0_mHp2_mHp2_cache[3][CacheSize]
Definition: THDMcache.h:3037
gslpp::complex B00_MZ2_0_mA2_mHp2(const double MZ2, const double mA2, const double mHp2) const
Definition: THDMcache.cpp:1314
double ip_ex_gg_H_WW_lnuqq_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3184
double pp_H_gaga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2204
double ip_ex_pp_Hpm_taunu_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3334
gslpp::matrix< double > ATLAS13_pp_H_VV_qqqq
Definition: THDMcache.h:213
double THoEX_VBF_H_ZZ_llllnunu_ATLAS13
Definition: THDMcache.h:2489
double R_pp_H_gaga_ATLAS13
Definition: THDMcache.h:2474
double ip_ex_VBF_H_ZZ_llqq_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3176
double ie22(double mass)
Definition: THDMcache.cpp:5976
double ip_ex_pp_H_ZZ_llnunu_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3214
gslpp::matrix< double > temp4
Definition: THDMcache.h:245
gslpp::matrix< double > temp32e
Definition: THDMcache.h:252
std::string getRGEorderflag() const
Definition: THDM.h:198
THDM branching ratio of .
Definition: lightHiggs.h:42
double Br_HtoWW
Definition: THDMcache.h:2069
gslpp::complex B0p_MZ2_mHh2_mA2_mA2(const double MZ2, const double mHh2, const double mA2) const
Definition: THDMcache.cpp:1158
double ie33c[2][CacheSize]
Definition: THDMcache.h:3306
gslpp::matrix< double > ATLAS13_gg_H_WW_lnuqq
Definition: THDMcache.h:213
double getBDtaunu_A() const
Definition: THDM.h:454
gslpp::complex B0_MZ2_mHl2_mHp2_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:2979
double R_bbF_H_tautau_ATLAS8
Definition: THDMcache.h:2417
double THoEX_pp_H_hh_CMS8
Definition: THDMcache.h:2444
double R_ggF_A_tautau_ATLAS8
Definition: THDMcache.h:2756
gslpp::matrix< double > ATLAS8_gg_phi_tt
Definition: THDMcache.h:181
double ip_ex_pp_H_ZZ_llll_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:4952
gslpp::matrix< double > CMS13_pp_phi_Zga_qqga
Definition: THDMcache.h:231
gslpp::matrix< double > ATLAS13_VBF_H_WW_enumumu_e
Definition: THDMcache.h:222
double THoEX_ggF_H_ZZ_llnunu_ATLAS13
Definition: THDMcache.h:2491
gslpp::matrix< double > log_cs_ggH_13
SM Higgs production cross section tables at 13 TeV from the LHC Higgs Cross Section Working Group...
Definition: THDMcache.h:126
double bbF_H_bb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2174
double ip_cs_ggtoH_13(double mass)
Interpolating function for the H production cross section via gluon-gluon fusion at 13 TeV...
Definition: THDMcache.cpp:2386
gslpp::matrix< double > ATLAS13_gg_H_ZZ_llnunu
Definition: THDMcache.h:213
double THoEX_ggF_H_ZZ_llqq_ATLAS13
Definition: THDMcache.h:2511
gslpp::matrix< double > csrA_bottom_13
Definition: THDMcache.h:176
double ip_ex_pp_Hpm_tb_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3327
gslpp::complex B0p_MZ2_mA2_0_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:3028
gslpp::complex B0p_MZ2_mHh2_mHl2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3016
double KaellenFunction_cache[4][CacheSize]
Definition: THDMcache.h:3369
gslpp::matrix< double > CMS13_pp_H_hh_bblnulnu
Definition: THDMcache.h:231
double ip_ex_pp_phi_gaga_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3153
gslpp::complex B00_MZ2_0_mHh2_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3033
gslpp::matrix< double > log_cs_ggHp_8
Charged Higgs production cross section table at 8 TeV from LHCHXSWGMSSMCharged, depending on the char...
Definition: THDMcache.h:161
gslpp::matrix< double > temp24
Definition: THDMcache.h:247
gslpp::matrix< double > br_bb
Definition: THDMcache.h:111
void read()
Fills all required arrays with the values read from the tables.
Definition: THDMcache.cpp:1608
double ip_ex_gg_H_ZZ_llllnunu_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4008
double pp_H_hh_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2300
gslpp::complex B0_MZ2_mHh2_0_0_cache[3][CacheSize]
Definition: THDMcache.h:2981
gslpp::complex B0p_MZ2_mHl2_mHh2_mHh2(const double MZ2, const double mHl2, const double mHh2) const
Definition: THDMcache.cpp:1018
gslpp::complex B00_MZ2_MZ2_mHp2_mHp2(const double MZ2, const double mHp2) const
Definition: THDMcache.cpp:1566
double ip_ex_gg_phi_Zga_llga_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3157
double ip_ex_pp_H_AZ_bbll_CMS8(double mA, double mH)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to which furt...
Definition: THDMcache.cpp:3720
double R_ggF_H_ZZ_llllnunu_ATLAS13
Definition: THDMcache.h:2488
gslpp::complex B0_MZ2_mHl2_0_mA2(const double MZ2, const double mHl2, const double mA2) const
Definition: THDMcache.cpp:540
double ip_ex_ggVV_H_WW_lnulnu_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon or vector boson fusion produ...
Definition: THDMcache.cpp:5048
double ip_ex_ggF_phi_Zga_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:4824
double ip_ex_gg_H_ZZ_llll_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3170
double R_pp_H_Zga_llga_CMS13
Definition: THDMcache.h:2482
double rh_QdQd
Squared relative coupling of to two down type quarks.
Definition: THDMcache.h:1934
gslpp::complex B0p_MZ2_mA2_0_mHh2(const double MZ2, const double mA2, const double mHh2) const
Definition: THDMcache.cpp:1256
double THoEX_ggF_H_hh_ATLAS8
Definition: THDMcache.h:2442
double R_VBF_H_ZZ_llqq_ATLAS13
Definition: THDMcache.h:2514
double ie19e(double mass)
Definition: THDMcache.cpp:5896
double ie26e(double mass)
Definition: THDMcache.cpp:6120
gslpp::matrix< double > temp21e
Definition: THDMcache.h:251
double SigmaVBF_H8
Definition: THDMcache.h:2058
double ie2c[2][CacheSize]
Definition: THDMcache.h:3244
double ip_ex_gg_H_ZZ_qqllnunu_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3164
double ip_cs_pptobbH_13(double mass)
Interpolating function for the bottom associated H production cross section at 13 TeV...
Definition: THDMcache.cpp:2576
gslpp::complex B0p_MZ2_mHl2_mHl2_mHl2_cache[3][CacheSize]
Definition: THDMcache.h:3008
gslpp::matrix< double > temp5e
Definition: THDMcache.h:249
gslpp::complex B0_MZ2_mHh2_0_mA2(const double MZ2, const double mHh2, const double mA2) const
Definition: THDMcache.cpp:652
double computeSigmaggH_tt(const double sqrt_s) const
The square of the top-quark contribution to the ggH cross section in the Standard Model...
double R_ggF_A_tautau_CMS8
Definition: THDMcache.h:2758
double ie22c[2][CacheSize]
Definition: THDMcache.h:3284
gslpp::complex B0p_MZ2_mA2_mA2_mHl2(const double MZ2, const double mA2, const double mHl2) const
Definition: THDMcache.cpp:1284
double ip_ex_bb_phi_tautau_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a bb associated scalar resonance decayin...
Definition: THDMcache.cpp:3880
double THoEX_bbF_H_tautau_CMS13
Definition: THDMcache.h:2471
gslpp::complex I_HH_L_cache[4][CacheSize]
Definition: THDMcache.h:3352
gslpp::matrix< double > temp28e
Definition: THDMcache.h:251
double ip_ex_pp_H_VV_qqqq_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a scalar resonance decaying to two or ...
Definition: THDMcache.cpp:4440
gslpp::complex B00_MZ2_0_mHl2_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:3036
gslpp::complex f_func(const double x) const
f function for the gamma gamma coupling to h, H and A
Definition: THDMcache.cpp:7386
double ip_csr_ggH_b_8(double mass)
Interpolating function for the gluon-gluon fusion H cross section ratio of the bottom-loop and the to...
Definition: THDMcache.cpp:2779
double WFRcomb3
Definition: THDMcache.h:2901
double getm12_2() const
Definition: THDM.h:438
double VBF_H_ZZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2240
double ip_ex_gg_H_WW_enumunu_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4312
double ie18e(double mass)
Definition: THDMcache.cpp:5864
double ie4c[2][CacheSize]
Definition: THDMcache.h:3248
gslpp::matrix< double > temp27
Definition: THDMcache.h:247
double ie32(double mass)
Definition: THDMcache.cpp:6296
double ip_ex_gg_H_ZZ_llnunu_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4056
double ie12ec[2][CacheSize]
Definition: THDMcache.h:3265
double ip_ex_gg_A_hZ_tautauZ_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced pseudoscalar reso...
Definition: THDMcache.cpp:3019
gslpp::matrix< double > log_cs_ttH_8
SM Higgs production cross section table at 8 TeV obtained with MadGraph 5, depending on the Higgs mas...
Definition: THDMcache.h:131
double ip_ex_pp_phi_hh_gagabb_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:3357
double VBF_H_ZZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2120
gslpp::matrix< double > CMS13_VBFVH_H_ZZ_llll_e
Definition: THDMcache.h:238
double ip_ex_VBF_VH_H_ZZ_llll_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a vector boson fusion produced scalar reso...
Definition: THDMcache.cpp:5000
gslpp::matrix< double > temp29
Definition: THDMcache.h:247
double R_ggF_H_tautau_CMS8
Definition: THDMcache.h:2415
gslpp::matrix< double > CMS8_pp_Hp_tb
Definition: THDMcache.h:267
double Mmu
Definition: THDMcache.h:2944
gslpp::matrix< double > ATLAS8_gg_A_hZ_tautauZ_e
Definition: THDMcache.h:186
double rh_Zga
Squared relative coupling of to a boson and a photon.
Definition: THDMcache.h:1961
double ip_ex_pp_phi_gaga_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3154
gslpp::complex B0p_MZ2_0_mHp2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3000
gslpp::complex B0_MZ2_mHp2_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const
Definition: THDMcache.cpp:764
double ip_csr_ggH_b_13(double mass)
Interpolating function for the gluon-gluon fusion H cross section ratio of the bottom-loop and the to...
Definition: THDMcache.cpp:2795
double ip_cs_pptottH_13(double mass)
Interpolating function for the top associated H production cross section at 13 TeV.
Definition: THDMcache.cpp:2538
gslpp::matrix< double > ATLAS8_pp_phi_gaga_e
ATLAS expected upper cross section limits at 8 TeV, depending on the Higgs mass. ...
Definition: THDMcache.h:186
double THoEX_bbF_H_tautau_CMS8
Definition: THDMcache.h:2418
void computeSignalStrengthQuantities()
Definition: THDMcache.cpp:7461
gslpp::complex B00_MZ2_0_MZ2_mHh2_cache[3][CacheSize]
Definition: THDMcache.h:3040
double R_bbF_H_tautau_ATLAS13
Definition: THDMcache.h:2468
double R_bbF_H_tautau_CMS13
Definition: THDMcache.h:2472
double ie11e(double mass)
Definition: THDMcache.cpp:5640
double ie39c[2][CacheSize]
Definition: THDMcache.h:3318
double ie40ec[2][CacheSize]
Definition: THDMcache.h:3321
double SigmaggF_H13
Definition: THDMcache.h:2060
double getsinb() const
Definition: THDM.h:238
double THoEX_VBF_H_WW_enumunu_ATLAS13
Definition: THDMcache.h:2525
double pp_H_hh_bblnulnu_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2330
double ip_ex_pp_Hp_tb_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3329
gslpp::matrix< double > ATLAS8_gg_A_hZ_bbZ
Definition: THDMcache.h:181
double ip_ex_pp_H_hh_gagaWW_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3193
double ie5c[2][CacheSize]
Definition: THDMcache.h:3250
gslpp::complex B0_MZ2_MW2_MW2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:2962
gslpp::matrix< double > temp8
Definition: THDMcache.h:245
gslpp::complex A_A_L(const double mA2, const double cW2, const double Mmu, const double Mtau, const double MZ) const
Definition: THDMcache.cpp:7332
gslpp::matrix< double > csrA_top_8
Definition: THDMcache.h:171
gslpp::complex B0_MZ2_mHp2_mHp2_mHh2(const double MZ2, const double mHp2, const double mHh2) const
Definition: THDMcache.cpp:778
gslpp::complex B0_MZ2_0_mHp2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:2970
double updateCache()
double ip_ex_gg_phi_tt_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3069
double VBF_H_ZZ_llll_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2252
double ip_ex_gg_H_WW_lnuqq_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4376
double pph13
Ratio of THDM and SM cross sections for the production of h at 13 TeV.
Definition: THDMcache.h:1986
double ie29(double mass)
Definition: THDMcache.cpp:6200
double ip_ex_bb_phi_tautau_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3129
double bbF_A_tautau_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2661
gslpp::complex B0_MZ2_0_MW2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:2958
bool getWFRflag() const
Definition: THDM.h:214
double THoEX_pp_A_HZ_bbll_CMS8
Definition: THDMcache.h:2816
double THoEX_ggF_A_gaga_CMS13
Definition: THDMcache.h:2798
gslpp::complex B0_MZ2_0_MZ2_mHh2_cache[3][CacheSize]
Definition: THDMcache.h:2960
double ip_ex_gg_H_hh_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3245
double ip_ex_gg_phi_tautau_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3126
double R_ggF_H_ZZ_llnunu_ATLAS13
Definition: THDMcache.h:2492
double Ytau2_at_Q
Definition: THDMcache.h:2890
gslpp::matrix< double > csrH_top_13
Production cross section ratio tables at 13 TeV obtained with HIGLU 4.34, depending on the Higgs mass...
Definition: THDMcache.h:176
double ip_ex_VBF_H_WW_lnuqq_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3185
gslpp::matrix< double > temp19e
Definition: THDMcache.h:250
An observable class for the quartic Higgs potential coupling .
double ip_ex_pp_Hp_tb_ATLAS13_1_cache_e[2][CacheSize]
Definition: THDMcache.h:3336
gslpp::matrix< double > br_mumu
Definition: THDMcache.h:111
double ip_ex_VBF_H_ZZ_llnunu_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a VBF produced scalar resonance decaying t...
Definition: THDMcache.cpp:4920
double ip_ex_gg_phi_tautau_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3095
double THoEX_bbF_H_tautau_ATLAS8
Definition: THDMcache.h:2416
double ip_ex_pp_H_hh_bbbb_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3227
double ip_ex_pp_H_ZZ_llll_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3220
double R_pp_H_hh_bbgaga_ATLAS13
Definition: THDMcache.h:2532
double ip_ex_pp_A_Zga_llga_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a pseudoscalar resonance decaying to a Z b...
Definition: THDMcache.cpp:3624
gslpp::matrix< double > CMS8_pp_H_hh_bbbb_e
Definition: THDMcache.h:206
double g_HH_HpHm(const double mHp2, const double mHh2, const double tanb, const double m12_2, const double bma, const double vev) const
Definition: THDMcache.cpp:6967
gslpp::complex B0p(const double muIR2, const double p2, const double m02, const double m12) const
.
double R_ggF_A_tautau_CMS13
Definition: THDMcache.h:2793
double R_VBF_H_ZZ_llll_ATLAS13
Definition: THDMcache.h:2502
double ie8(double mass)
Definition: THDMcache.cpp:5528
A base class for symmetric Two-Higgs-Doublet models.
Definition: THDM.h:118
void computeHHlimits()
Definition: THDMcache.cpp:7804
double GammaAtot
Total decay width of the CP-odd Higgs .
Definition: THDMcache.h:2721
gslpp::matrix< double > CMS8_pp_A_Zga_llga
Definition: THDMcache.h:201
double m22_2_at_Q
Definition: THDMcache.h:2892
double ip_ex_gg_phi_tt_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3102
gslpp::complex A_h_D_cache[7][CacheSize]
Definition: THDMcache.h:3360
double BDstartaunu_SM
Definition: THDMcache.h:2926
double ip_ex_gg_phi_tautau_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3848
double ip_ex_gg_A_hZ_bbll_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon produced pseudoscalar resona...
Definition: THDMcache.cpp:3309
double ip_ex_pp_Hpm_tb_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6648
double THoEX_ggF_H_WW_ATLAS8
Definition: THDMcache.h:2434
gslpp::complex B00_MZ2_MW2_mHp2_mHp2(const double MZ2, const double MW2, const double mHp2) const
Definition: THDMcache.cpp:1496
gslpp::matrix< double > temp24e
Definition: THDMcache.h:251
double THoEX_VBF_H_ZZ_llnunu_CMS13
Definition: THDMcache.h:2497
gslpp::complex B00_MZ2_MW2_mHh2_mHp2_cache[5][CacheSize]
Definition: THDMcache.h:3043
double ip_ex_pp_Hpm_taunu_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6712
gslpp::complex I_A_U(const double mA2, const double Mc, const double Mt) const
Definition: THDMcache.cpp:7018
double pp_Hp_tb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2855
double ip_ex_pp_phi_Zga_llga_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3208
double pp_A_Zga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2679
double R_pp_Hp_tb_ATLAS13_2
Definition: THDMcache.h:2872
double ie3(double mass)
Definition: THDMcache.cpp:5368
gslpp::matrix< double > CMS13_pp_Hpm_taunu_e
CMS expected upper cross section limits at 13 TeV, depending on the charged Higgs mass...
Definition: THDMcache.h:292
double ie14ec[2][CacheSize]
Definition: THDMcache.h:3269
gslpp::matrix< double > ATLAS8_pp_Hpm_taunu_e
ATLAS expected upper cross section limits at 8 TeV, depending on the charged Higgs mass...
Definition: THDMcache.h:262
double THoEX_ggF_H_tt_ATLAS8
Definition: THDMcache.h:2452
gslpp::matrix< double > temp26e
Definition: THDMcache.h:251
void runTHDMparameters()
double SigmaTotSM_H8
Definition: THDMcache.h:2055
gslpp::matrix< double > ATLAS13_gg_H_ZZ_llllnunu_e
Definition: THDMcache.h:222
virtual double v() const
The value of at any scale with the number of flavours and full EW corrections. ...
double bbF_A_tautau_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2577
double ie39e(double mass)
Definition: THDMcache.cpp:6536
gslpp::complex Int2(const double tau, const double lambda) const
function for Z gamma coupling to h, H and A
Definition: THDMcache.cpp:7420
gslpp::matrix< double > CMS8_gg_A_hZ_tautaull
Definition: THDMcache.h:201
double ip_ex_gg_H_ZZ_llll_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4104
double ip_ex_pp_Hp_tb_ATLAS13_1(double mass)
Interpolating function for the observed ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6776
double ie37(double mass)
Definition: THDMcache.cpp:6456
double ip_ex_gg_H_ZZ_nunuqq_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4296
double THoEX_pp_Hpm_tb_ATLAS8
Definition: THDMcache.h:2861
THDMcache(const StandardModel &SM_i)
THDMcache constructor.
Definition: THDMcache.cpp:16
gslpp::matrix< double > ATLAS13_pp_phi_Zga
Definition: THDMcache.h:213
gslpp::matrix< double > CMS13_gg_phi_tautau
Definition: THDMcache.h:231
double ip_ex_pp_phi_hh_gagabb_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3120
double lambda1_at_Q
Definition: THDMcache.h:2894
double R_pp_H_hh_bbbb_CMS8
Definition: THDMcache.h:2449
gslpp::matrix< double > CMS13_pp_H_ZZ_llll_e
Definition: THDMcache.h:238
gslpp::complex B0_MZ2_mHl2_mHl2_mHl2(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:554
double ip_ex_gg_H_WW_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3117
double Br_AtoHpW
branching ratio to a charged Higgs and a boson.
Definition: THDMcache.h:2753
double ie29e(double mass)
Definition: THDMcache.cpp:6216
double ip_cs_ggtoHp_13_cache[3][CacheSize]
Definition: THDMcache.h:3081
double R_VBF_H_ZZ_llllnunu_ATLAS13
Definition: THDMcache.h:2490
double ip_ex_pp_H_hh_gagabb_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5160
double THoEX_pp_Hp_tb_CMS8
Definition: THDMcache.h:2863
double ie10e(double mass)
Definition: THDMcache.cpp:5608
gslpp::matrix< double > ATLAS13_bb_A_Zh_Zbb_e
Definition: THDMcache.h:222
gslpp::complex A_A_D(const double mA2, const double cW2, const double Ms, const double Mb, const double MZ) const
Definition: THDMcache.cpp:7270
double ie40(double mass)
Definition: THDMcache.cpp:6552
double pp_H_hh_bbVV_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2336
double ip_ex_pp_H_hh_gagabb_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a scalar resonance decaying to two boso...
Definition: THDMcache.cpp:4504
double ip_ex_VBF_VH_H_ZZ_llll_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3222
gslpp::complex B00_MZ2_0_mA2_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:3032
gslpp::matrix< double > temp6
Definition: THDMcache.h:245
double ip_ex_gg_A_Zh_Zbb_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3196
double R_pp_A_Zga_llga_ATLAS13
Definition: THDMcache.h:2803
double ip_ex_VBF_VH_H_ZZ_llll_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a vector boson fusion produced scalar reso...
Definition: THDMcache.cpp:4984
gslpp::complex B0p_MZ2_mHp2_mHp2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:3025
double R_ggF_A_tautau_ATLAS13
Definition: THDMcache.h:2789
gslpp::complex A_H_Hp_cache[5][CacheSize]
Definition: THDMcache.h:3367
double R_pp_Hp_tb_ATLAS13
Definition: THDMcache.h:2874
double ip_cs_VBFtoH_13_cache[2][CacheSize]
Definition: THDMcache.h:3065
gslpp::complex B0p_MZ2_0_mA2_mHh2(const double MZ2, const double mA2, const double mHh2) const
Definition: THDMcache.cpp:934
double Br_AtohZ
branching ratio to an and a boson.
Definition: THDMcache.h:2747
gslpp::complex B0_MZ2_mHp2_mHp2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:2992
double THoEX_pp_H_gaga_ATLAS8
Definition: THDMcache.h:2420
double ip_ex_gg_phi_tautau_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:2955
gslpp::matrix< double > ATLAS13_pp_Hp_tb1
Definition: THDMcache.h:277
gslpp::matrix< double > temp26
Definition: THDMcache.h:247
gslpp::complex B0_MZ2_MW2_MW2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2963
gslpp::complex B0p_MZ2_mHl2_mHh2_mHl2(const double MZ2, const double mHl2, const double mHh2) const
Definition: THDMcache.cpp:1004
double THoEX_ggF_H_ZZ_qqllnunu_ATLAS13
Definition: THDMcache.h:2507
double ggF_A_hZ_tautauZ_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2625
double R_ggF_A_hZ_bbll_CMS8
Definition: THDMcache.h:2772
double ip_cs_ggtoA_13(double mass)
Interpolating function for the A production cross section via gluon-gluon fusion at 13 TeV...
Definition: THDMcache.cpp:2614
double Q_cutoff
Definition: THDMcache.h:2882
gslpp::complex B00_MZ2_MW2_mHl2_mHp2_cache[5][CacheSize]
Definition: THDMcache.h:3044
double ip_ex_gg_H_ZZ_nunuqq_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4280
double ie14e(double mass)
Definition: THDMcache.cpp:5736
gslpp::complex B00_MZ2_0_mHl2_mHp2(const double MZ2, const double mHl2, const double mHp2) const
Definition: THDMcache.cpp:1370
double ip_ex_pp_phi_bb_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3199
double THoEX_pp_A_Zga_llga_ATLAS13
Definition: THDMcache.h:2802
double computeThValue()
The quartic coupling .
double ie2ec[2][CacheSize]
Definition: THDMcache.h:3245
double ip_csr_ggH_t_13(double mass)
Interpolating function for the gluon-gluon fusion H cross section ratio of the top-loop and the total...
Definition: THDMcache.cpp:2763
double ip_csr_ggH_b_13_cache[2][CacheSize]
Definition: THDMcache.h:3085
double ip_ex_bb_phi_bb_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a bottom quark produced scalar resonance d...
Definition: THDMcache.cpp:3437
double THoEX_ggF_A_tautau_CMS8
Definition: THDMcache.h:2757
double THoEX_pp_H_AZ_bbll_CMS8
Definition: THDMcache.h:2456
double ggF_H_hh_bbbb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2312
double gettanb() const
Definition: THDM.h:230
double ip_ex_pp_phi_hh_bbbb_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3122
gslpp::matrix< double > ATLAS13_pp_H_hh_gagabb
Definition: THDMcache.h:213
double logtb
Definition: THDMcache.h:2920
gslpp::matrix< double > CMS8_pp_A_HZ_bbll
Definition: THDMcache.h:201
gslpp::matrix< double > ATLAS8_pp_Hpm_tb
Definition: THDMcache.h:257
gslpp::complex B0_MZ2_mHh2_0_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:2982
gslpp::matrix< double > ATLAS8_pp_phi_Zga_llga_e
Definition: THDMcache.h:186
double R_bbF_A_tautau_CMS8
Definition: THDMcache.h:2762
gslpp::matrix< double > ATLAS8_gg_H_WW_e
Definition: THDMcache.h:186
double SigmabbF_A8
Definition: THDMcache.h:2555
double ip_ex_gg_phi_Zga_llga_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3158
double ie24e(double mass)
Definition: THDMcache.cpp:6056
double ip_cs_ggtoH_8_cache[2][CacheSize]
Definition: THDMcache.h:3062
gslpp::matrix< double > ATLAS13_pp_phi_Zga_e
Definition: THDMcache.h:222
gslpp::matrix< double > temp18e
Definition: THDMcache.h:250
double ip_Br_HPtocc_cache[2][CacheSize]
Definition: THDMcache.h:3057
gslpp::complex B0p_MZ2_0_0_mHh2_cache[3][CacheSize]
Definition: THDMcache.h:2999
double ie17(double mass)
Definition: THDMcache.cpp:5816
double THoEX_pp_H_Zga_llga_ATLAS8
Definition: THDMcache.h:2430
gslpp::matrix< double > temp11
Definition: THDMcache.h:246
double R_pp_A_Zga_qqga_CMS13
Definition: THDMcache.h:2807
double ip_ex_pp_Hp_tb_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a singly charged scalar resonance decaying...
Definition: THDMcache.cpp:6680
double getBDtaunu_B() const
Definition: THDM.h:462
gslpp::complex B0p_MZ2_0_0_mHl2_cache[3][CacheSize]
Definition: THDMcache.h:2998
double ie33ec[2][CacheSize]
Definition: THDMcache.h:3307
gslpp::complex B0p_MZ2_mHl2_0_mHp2(const double MZ2, const double mHl2, const double mHp2) const
Definition: THDMcache.cpp:962
gslpp::matrix< double > ATLAS13_VBF_H_ZZ_llqq
Definition: THDMcache.h:213
double ip_ex_pp_Hp_taunu_CMS8_e(double mass)
Interpolating function for the expected CMS upper limit on a singly charged scalar resonance decaying...
Definition: THDMcache.cpp:6632
double ip_ex_gg_phi_tt_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3103
double mHh2
Definition: THDMcache.h:2931
double ip_ex_bb_A_Zh_Zbb_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3197
gslpp::matrix< double > ATLAS13_pp_phi_gaga_e
Definition: THDMcache.h:222
double pp_A_HZ_bbll_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2643
double THoEX_pp_H_hh_bbbb_CMS8
Definition: THDMcache.h:2448
virtual double RGERunner(double InitialValues[], unsigned long int NumberOfRGEs, double Q1, double Q2, int order, double Rpeps, double tNLOuni)
Definition: Runner.cpp:543
gslpp::complex A_h_L(const double mHl2, const double cW2, const double Me, const double Mmu, const double Mtau, const double MZ) const
Definition: THDMcache.cpp:7289
double SigmaSumH8
Definition: THDMcache.h:2054
double getBDstartaunu_B() const
Definition: THDM.h:486
gslpp::complex B0_MZ2_mHp2_0_mHl2(const double MZ2, const double mHp2, const double mHl2) const
Definition: THDMcache.cpp:736
double ip_ex_tt_phi_tt_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a tt associated scalar resonance decayin...
Definition: THDMcache.cpp:3816
double ip_ex_gg_phi_tautau_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3201
double BDstartaunu_A
Definition: THDMcache.h:2927
gslpp::complex B0p_MZ2_mHl2_mA2_mA2(const double MZ2, const double mHl2, const double mA2) const
Definition: THDMcache.cpp:1046
double THoEX_pp_H_hh_bbgaga_ATLAS13
Definition: THDMcache.h:2531
double ip_ex_pp_H_ZZ_llqq_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5032
double ggF_H_ZZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2234
complex log(const complex &z)
double THoEX_ggF_VBF_H_WW_lnulnu_CMS13
Definition: THDMcache.h:2527
double ip_ex_pp_H_hh_bblnulnu_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5240
virtual double Mw_tree() const
The tree-level mass of the boson, .
gslpp::complex B0_MZ2_mHh2_mHh2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2985
double ip_ex_pp_H_hh_gagabb_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3192
int CacheCheck(const gslpp::complex cache[][CacheSize], const int NumPar, const double params[]) const
Check whether for the latest set of parameters a value is in the cache.
Definition: THDMcache.cpp:260
double ip_ex_gg_H_ZZ_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3181
double R_pp_H_hh_gagabb_CMS8
Definition: THDMcache.h:2451
double THoEX_ggF_H_hh_bbtautau_CMS8
Definition: THDMcache.h:2446
gslpp::complex A_HH_L(const double mHh2, const double cW2, const double Mmu, const double Mtau, const double MZ) const
Definition: THDMcache.cpp:7312
double ip_cs_pptobbH_8(double mass)
Interpolating function for the bottom associated H production cross section at 8 TeV.
Definition: THDMcache.cpp:2557
double R_pp_Hpm_taunu_ATLAS13
Definition: THDMcache.h:2866
double lambda4_at_Q
Definition: THDMcache.h:2897
double ggF_H_gaga_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2096
gslpp::matrix< double > log_cs_bbH_13
SM Higgs production cross section table at 13 TeV obtained with SusHi 1.5, depending on the Higgs mas...
Definition: THDMcache.h:146
double THDM_BR_h_bb
branching ratio to two quarks in the THDM.
Definition: THDMcache.h:2016
gslpp::matrix< double > temp7
Definition: THDMcache.h:245
gslpp::matrix< double > csrH_bottom_8
Definition: THDMcache.h:171
const PVfunctions PV
Definition: THDMcache.h:2908
gslpp::matrix< double > temp40e
Definition: THDMcache.h:252
gslpp::complex B0p_MZ2_mHl2_mHh2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3009
double Q_THDM
Definition: THDMcache.h:2918
double ip_ex_pp_phi_Zga_llga_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a scalar resonance decaying to a boson ...
Definition: THDMcache.cpp:3928
double ip_ex_gg_phi_tautau_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3202
bool WFRflag
Definition: THDMcache.h:2950
gslpp::matrix< double > temp39
Definition: THDMcache.h:248
double THoEX_ggF_H_tautau_CMS13
Definition: THDMcache.h:2469
double pp_H_bb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2354
double R_VBF_H_WW_lnuqq_ATLAS13
Definition: THDMcache.h:2522
double THoEX_pp_H_hh_gagabb_CMS8
Definition: THDMcache.h:2450
gslpp::matrix< double > CMS13_pp_H_hh_bbtautau_e
Definition: THDMcache.h:238
gslpp::matrix< double > ATLAS8_gg_A_hZ_tautauZ
Definition: THDMcache.h:181
double ip_ex_VBF_H_WW_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:3149
double ie22e(double mass)
Definition: THDMcache.cpp:5992
double ie16(double mass)
Definition: THDMcache.cpp:5784
lambda1 * mylambda1
Definition: THDMcache.h:2911
gslpp::matrix< double > ATLAS8_VBF_H_ZZ
Definition: THDMcache.h:181
double ie35(double mass)
Definition: THDMcache.cpp:6392
double ie5(double mass)
Definition: THDMcache.cpp:5432
gslpp::matrix< double > ATLAS13_gg_H_ZZ_nunuqq
Definition: THDMcache.h:213
double ip_ex_bb_phi_tt_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a bb associated scalar resonance decayin...
Definition: THDMcache.cpp:3768
double ie1e(double mass)
Definition: THDMcache.cpp:5320
double ip_cs_ggtoHp_8_cache[3][CacheSize]
Definition: THDMcache.h:3080
double ip_ex_gg_A_Zh_Zbb_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced pseudoscalar reso...
Definition: THDMcache.cpp:4584
double R_pp_A_HZ_bbll_CMS8
Definition: THDMcache.h:2817
double ip_ex_gg_phi_gaga_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a gluon-gluon produced scalar resonance de...
Definition: THDMcache.cpp:4744
double R_bbF_A_tt_ATLAS13
Definition: THDMcache.h:2787
double ie27ec[2][CacheSize]
Definition: THDMcache.h:3295
gslpp::complex B0p_MZ2_mHp2_0_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:3022
double R_pp_H_hh_CMS8
Definition: THDMcache.h:2445
double ie3ec[2][CacheSize]
Definition: THDMcache.h:3247
gslpp::complex I_h_D(const double mHl2, const double Md, const double Ms, const double Mb) const
Definition: THDMcache.cpp:7034
gslpp::matrix< double > ATLAS13_pp_Hp_tb2_e
Definition: THDMcache.h:282
double ip_ex_pp_phi_Zga_llga_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3093
double ttF_A_tt_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2703
double R_ggF_VBF_H_WW_lnulnu_CMS13
Definition: THDMcache.h:2528
double ie23(double mass)
Definition: THDMcache.cpp:6008
double ip_Br_HPtomumu_cache[2][CacheSize]
Definition: THDMcache.h:3058
double g2_at_Q
Definition: THDMcache.h:2884
An observable class for the quadratic Higgs potential coupling .
double ip_ex_pp_A_HZ_bbll_CMS8(double mA, double mH)
Interpolating function for the observed CMS upper limit on a pseudoscalar resonance decaying to whic...
Definition: THDMcache.cpp:3704
double R_ggF_A_tt_ATLAS8
Definition: THDMcache.h:2780
double Br_Atobb
Definition: THDMcache.h:2564
gslpp::matrix< double > temp14
Definition: THDMcache.h:246
Definition: QCD.h:605
gslpp::complex B00_MZ2_MW2_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const
Definition: THDMcache.cpp:1510
double ip_ex_ggF_H_hh_bbbb_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:5112
gslpp::matrix< double > CMS8_mu_pp_H_VV_e
CMS expected upper signal strength limits at 8 TeV, depending on the Higgs mass. ...
Definition: THDMcache.h:196
gslpp::complex B0_MZ2_0_MZ2_mHh2(const double MZ2, const double mHh2) const
Definition: THDMcache.cpp:344
double ip_ex_gg_A_hZ_bbZ_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced pseudoscalar reso...
Definition: THDMcache.cpp:3035
gslpp::complex B0_MZ2_0_mHp2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2969
double ip_ex_VBF_H_ZZ_llll_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:4136
double ip_ex_gg_H_ZZ_llnunu_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4072
double ip_ex_gg_phi_tt_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3085
double R_bbF_A_tautau_CMS13
Definition: THDMcache.h:2795
double getlogtb() const
Definition: THDM.h:222
double ip_ex_pp_A_Zga_llga_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3134
double R_pp_H_ZZ_llqq_CMS13
Definition: THDMcache.h:2518
double ip_Br_HPtoWW_cache[2][CacheSize]
Definition: THDMcache.h:3060
gslpp::complex B00_MZ2_MW2_MW2_mHl2(const double MZ2, const double MW2, const double mHl2) const
Definition: THDMcache.cpp:1524
An observable class for the quartic Higgs potential coupling .
gslpp::complex B0_MZ2_0_MZ2_mHl2(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:358
double ip_ex_bb_phi_tautau_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3151
gslpp::complex B0p_MZ2_mHl2_0_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3007
double pp_Hpm_tb_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2837
gslpp::complex B0p_MZ2_mHl2_0_mA2(const double MZ2, const double mHl2, const double mA2) const
Definition: THDMcache.cpp:976
double ip_ex_pp_H_hh_bbbb_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3228
gslpp::complex A_HH_U(const double mHh2, const double cW2, const double Mc, const double Mt, const double MZ) const
Definition: THDMcache.cpp:7189
double pp_H_ZZ_llll_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2258
gslpp::complex B0_MZ2_mHl2_0_0_cache[3][CacheSize]
Definition: THDMcache.h:2973
double ie30e(double mass)
Definition: THDMcache.cpp:6248
gslpp::matrix< double > temp12
Definition: THDMcache.h:246
gslpp::matrix< double > CMS13_gg_phi_tautau_e
Definition: THDMcache.h:238
double ip_ex_pp_Hp_tb_ATLAS13_1_e(double mass)
Interpolating function for the expected ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6792
double ie24ec[2][CacheSize]
Definition: THDMcache.h:3289
gslpp::matrix< double > CMS8_gg_A_hZ_bbll
CMS observed upper cross section limits at 8 TeV, depending on the Higgs mass.
Definition: THDMcache.h:201
gslpp::complex B0_MZ2_mHl2_mHl2_mHl2_cache[3][CacheSize]
Definition: THDMcache.h:2976
double ie18c[2][CacheSize]
Definition: THDMcache.h:3276
double THoEX_ggF_A_tt_ATLAS8
Definition: THDMcache.h:2779
double ip_ex_bb_phi_tautau_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3097
double rh_QuQu
Squared relative coupling of to two up type quarks.
Definition: THDMcache.h:2010
double ie6c[2][CacheSize]
Definition: THDMcache.h:3252
double ip_ex_bb_phi_tautau_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a b associated scalar resonance decaying t...
Definition: THDMcache.cpp:4696
double ip_ex_pp_A_HZ_bbll_CMS8_cache[3][CacheSize]
Definition: THDMcache.h:3140
double ggF_A_hZ_bbll_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2607
gslpp::complex B00_MZ2_0_mHh2_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:3034
double getmA2() const
Definition: THDM.h:370
gslpp::matrix< double > CMS8_pp_H_hh_e
Definition: THDMcache.h:206
gslpp::complex B0p_MZ2_mA2_0_mHp2(const double MZ2, const double mA2, const double mHp2) const
Definition: THDMcache.cpp:1270
double THoEX_ggF_H_hh_gagaWW_ATLAS13
Definition: THDMcache.h:2541
gslpp::matrix< double > CMS13_pp_Hpm_taunu
CMS observed upper cross section limits at 13 TeV, depending on the charged Higgs mass...
Definition: THDMcache.h:287
double ip_Br_HPtoZZ(double mass)
Interpolating function for the SM branching ratio to two bosons.
Definition: THDMcache.cpp:2319
gslpp::complex A_A_U_cache[6][CacheSize]
Definition: THDMcache.h:3359
double ip_ex_bb_phi_tt_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a bb associated scalar resonance decayin...
Definition: THDMcache.cpp:3784
gslpp::complex B00_MZ2_MW2_mHl2_mHp2(const double MZ2, const double MW2, const double mHl2, const double mHp2) const
Definition: THDMcache.cpp:1482
double getmHp2() const
Definition: THDM.h:404
double ie21ec[2][CacheSize]
Definition: THDMcache.h:3283
gslpp::matrix< double > temp15
Definition: THDMcache.h:246
gslpp::matrix< double > ATLAS13_pp_H_hh_bbbb
Definition: THDMcache.h:213
double ie34c[2][CacheSize]
Definition: THDMcache.h:3308
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::complex B0_MZ2_0_0_mHl2(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:428
double ggF_A_tt_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2631
double THoEX_ggF_H_ZZ_llnunu_CMS13
Definition: THDMcache.h:2495
double Ybottom2_at_Q
Definition: THDMcache.h:2888
gslpp::complex B0p_MZ2_mHh2_mHh2_mHl2(const double MZ2, const double mHh2, const double mHl2) const
Definition: THDMcache.cpp:1116
gslpp::matrix< double > CMS13_pp_H_ZZ_llll
Definition: THDMcache.h:231
double ip_ex_pp_phi_hh_bbbb_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:3389
double Als
Definition: THDMcache.h:2938
double R_pp_Hp_tb_CMS8
Definition: THDMcache.h:2864
gslpp::complex B0_MZ2_mHp2_0_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2989
bool UnitarityTestflag
Definition: THDMcache.h:2951
std::string modelflag
Definition: THDMcache.h:2949
double ip_ex_bb_A_Zh_Zbb_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a bb associated pseudoscalar resonance d...
Definition: THDMcache.cpp:4616
gslpp::complex B0p_MZ2_mHh2_mHp2_mHp2_cache[4][CacheSize]
Definition: THDMcache.h:3019
double THoEX_VBF_H_WW_ATLAS8
Definition: THDMcache.h:2436
double THDM_BR_h_WW
branching ratio to two bosons in the THDM.
Definition: THDMcache.h:2034
double ip_csr_ggH_b_8_cache[2][CacheSize]
Definition: THDMcache.h:3084
complex sin(const complex &z)
double pp_H_hh_gagabb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2318
double Br_HtoHpHm
branching ratio to two charged Higgs bosons.
Definition: THDMcache.h:2398
double ie38e(double mass)
Definition: THDMcache.cpp:6504
double ip_ex_gg_phi_gaga_CMS8_cache[2][CacheSize]
Definition: THDMcache.h:3130
double getmHh2() const
Definition: THDM.h:312
double ggF_A_Zga_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2685
gslpp::matrix< double > GammaHtot_SM
Total SM decay width (obtained with HDECAY 6.10), depending on the Higgs mass.
Definition: THDMcache.h:116
double ie7ec[2][CacheSize]
Definition: THDMcache.h:3255
double ip_csr_ggH_t_13_cache[2][CacheSize]
Definition: THDMcache.h:3083
double ie2(double mass)
Definition: THDMcache.cpp:5336
double ip_ex_gg_H_WW_enumunu_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4328
double pp_H_hh_bbbb_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2306
gslpp::complex B0_MZ2_MW2_MW2_mHh2(const double MZ2, const double MW2, const double mHh2) const
Definition: THDMcache.cpp:372
gslpp::matrix< double > temp39e
Definition: THDMcache.h:252
gslpp::complex B0p_MZ2_mHh2_mHp2_mHp2(const double MZ2, const double mHh2, const double mHp2) const
Definition: THDMcache.cpp:1144
gslpp::complex B00_MZ2_MZ2_mHp2_mHp2_cache[3][CacheSize]
Definition: THDMcache.h:3050
double R_VBF_H_ZZ_ATLAS8
Definition: THDMcache.h:2441
double ip_cs_pptottA_8(double mass)
Interpolating function for the top associated A production cross section at 8 TeV.
Definition: THDMcache.cpp:2633
double computeThValue()
The quartic coupling .
gslpp::complex B0p_MZ2_mHl2_mA2_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3012
double computeSigmattH(const double sqrt_s) const
The ttH production cross section in the Standard Model.
double Br_AtoHZ
branching ratio to an and a boson.
Definition: THDMcache.h:2741
double ie9e(double mass)
Definition: THDMcache.cpp:5576
gslpp::matrix< double > temp32
Definition: THDMcache.h:248
double ip_ex_gg_H_WW_enumunu_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3179
gslpp::matrix< double > ATLAS8_gg_H_hh
Definition: THDMcache.h:181
double ie36(double mass)
Definition: THDMcache.cpp:6424
gslpp::complex B00_MZ2_MW2_MW2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3047
gslpp::matrix< double > CMS8_pp_H_hh_gagabb_e
Definition: THDMcache.h:206
double Gamma_AZga
Definition: THDMcache.h:2565
double ip_ex_pp_Hp_taunu_CMS8(double mass)
Interpolating function for the observed CMS upper limit on a singly charged scalar resonance decaying...
Definition: THDMcache.cpp:6616
double ggF_H_ZZ_llll_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2246
double R_ggF_H_WW_lnuqq_ATLAS13
Definition: THDMcache.h:2520
double ip_ex_VBF_H_WW_lnuqq_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a VBF produced scalar resonance decaying...
Definition: THDMcache.cpp:4424
gslpp::matrix< double > temp9e
Definition: THDMcache.h:249
double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections...
void computeHpquantities()
double ie8e(double mass)
Definition: THDMcache.cpp:5544
double THoEX_pp_H_hh_bbbb_ATLAS13
Definition: THDMcache.h:2535
gslpp::matrix< double > log_cs_WH_8
Definition: THDMcache.h:121
double ip_ex_pp_H_hh_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3119
double mHl
Definition: THDMcache.h:2929
double ie32ec[2][CacheSize]
Definition: THDMcache.h:3305
An observable class for the quartic Higgs potential coupling .
double THoEX_mu_pp_H_VV_CMS8
Definition: THDMcache.h:2432
gslpp::complex B00_MZ2_MW2_mHh2_mHp2(const double MZ2, const double MW2, const double mHh2, const double mHp2) const
Definition: THDMcache.cpp:1468
double R_ggF_H_tt_ATLAS8
Definition: THDMcache.h:2453
double ip_ex_gg_H_ZZ_llllnunu_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3159
double THoEX_pp_Hp_tb_ATLAS13_1
Definition: THDMcache.h:2869
gslpp::matrix< double > temp25e
Definition: THDMcache.h:251
gslpp::complex B0_MZ2_0_mHp2_mHl2(const double MZ2, const double mHp2, const double mHl2) const
Definition: THDMcache.cpp:456
double ip_ex_pp_Hp_tb_CMS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3330
double ip_ex_gg_phi_gaga_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3206
gslpp::matrix< double > temp1e
Definition: THDMcache.h:249
double ip_ex_gg_H_WW_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3104
gslpp::matrix< double > ATLAS8_gg_A_hZ_bbZ_e
Definition: THDMcache.h:186
double ie21(double mass)
Definition: THDMcache.cpp:5944
double THDM_BR_h_ZZ
branching ratio to two bosons in the THDM.
Definition: THDMcache.h:2040
gslpp::complex A_HH_D(const double mHh2, const double cW2, const double Ms, const double Mb, const double MZ) const
Definition: THDMcache.cpp:7250
double m11_2_at_Q
Definition: THDMcache.h:2891
double ip_cs_ggtoA_8(double mass)
Interpolating function for the A production cross section via gluon-gluon fusion at 8 TeV...
Definition: THDMcache.cpp:2595
virtual double getMHl() const
A get method to retrieve the Higgs mass .
double ip_cs_pptobbA_13(double mass)
Interpolating function for the bottom associated A production cross section at 13 TeV...
Definition: THDMcache.cpp:2690
double rh_ll
Squared relative coupling of to two charged leptons.
Definition: THDMcache.h:1947
double THoEX_pp_H_Zga_llga_CMS8
Definition: THDMcache.h:2428
double rA_gg
Squared relative coupling of to two photons.
Definition: THDMcache.h:2735
double ie4e(double mass)
Definition: THDMcache.cpp:5416
double ip_ex_pp_Hpm_taunu_CMS13(double mass)
Interpolating function for the observed CMS upper limit on a singly charged scalar resonance decaying...
Definition: THDMcache.cpp:6744
gslpp::matrix< double > CMS13_gg_H_ZZ_llnunu_e
Definition: THDMcache.h:238
THDM branching ratio of .
Definition: lightHiggs.h:63
double ip_cs_pptottH_8_cache[2][CacheSize]
Definition: THDMcache.h:3070
double ip_ex_gg_phi_tautau_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3832
double ip_ex_gg_phi_Zga_llga_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3960
double ip_ex_pp_Hpm_taunu_ATLAS13_e(double mass)
Interpolating function for the expected ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6728
double ip_ex_pp_H_hh_bbbb_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a spin-2 resonance decaying to two boso...
Definition: THDMcache.cpp:4472
gslpp::complex B0p_MZ2_mHp2_0_mHl2(const double MZ2, const double mHp2, const double mHl2) const
Definition: THDMcache.cpp:1172
gslpp::matrix< double > ATLAS8_pp_Hpm_tb_e
Definition: THDMcache.h:262
double ie13c[2][CacheSize]
Definition: THDMcache.h:3266
gslpp::matrix< double > CMS13_VBFVH_H_ZZ_llll
Definition: THDMcache.h:231
double ip_ex_pp_Hpm_taunu_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a singly charged scalar resonance decaying...
Definition: THDMcache.cpp:6760
gslpp::matrix< double > temp17e
Definition: THDMcache.h:250
double rh_VV
Squared relative coupling of to two massive vector bosons.
Definition: THDMcache.h:1940
gslpp::matrix< double > CMS8_gg_H_hh_bbtautau_e
Definition: THDMcache.h:206
double ip_ex_VBF_H_ZZ_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3110
gslpp::matrix< double > ATLAS8_gg_phi_tautau_e
Definition: THDMcache.h:186
double ggF_H_WW_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2126
double ie1ec[2][CacheSize]
Definition: THDMcache.h:3243
double ip_csr_ggH_t_8(double mass)
Interpolating function for the gluon-gluon fusion H cross section ratio of the top-loop and the total...
Definition: THDMcache.cpp:2747
gslpp::matrix< double > ATLAS8_gg_phi_tautau
Definition: THDMcache.h:181
gslpp::matrix< double > temp35
Definition: THDMcache.h:248
double ip_ex_pp_phi_Zga_qqga_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to a boson an...
Definition: THDMcache.cpp:4808
gslpp::complex B0p_MZ2_mHp2_mHp2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:3024
double ip_ex_gg_A_Zh_Zbb_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3195
gslpp::matrix< double > ATLAS8_gg_H_WW
Definition: THDMcache.h:181
double ie21e(double mass)
Definition: THDMcache.cpp:5960
gslpp::complex B0p_MZ2_0_0_mHl2(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:850
double ip_ex_pp_H_ZZ_llqq_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3223
double computeThValue()
The quartic coupling .
gslpp::matrix< double > log_cs_ZH_8
Definition: THDMcache.h:121
gslpp::matrix< double > temp2e
Definition: THDMcache.h:249
double SigmaSumH13
Definition: THDMcache.h:2059
double ie3e(double mass)
Definition: THDMcache.cpp:5384
double R_ggF_H_hh_bbbb_CMS13
Definition: THDMcache.h:2540
gslpp::matrix< double > ATLAS8_VBF_H_ZZ_e
Definition: THDMcache.h:186
double THoEX_ttF_H_tt_ATLAS13
Definition: THDMcache.h:2461
double ip_ex_ggF_phi_Zga_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3212
double R_pp_H_hh_bbgaga_CMS13
Definition: THDMcache.h:2534
double ip_cs_pptobbH_8_cache[2][CacheSize]
Definition: THDMcache.h:3072
double ie40c[2][CacheSize]
Definition: THDMcache.h:3320
gslpp::matrix< double > temp17
Definition: THDMcache.h:246
double ip_ex_gg_H_WW_lnuqq_ATLAS13_cache[2][CacheSize]
Definition: THDMcache.h:3183
double bbF_A_hZ_bbZ_TH13
Cross section times branching ratio for the process at the LHC with 13 TeV.
Definition: THDMcache.h:2697
double THDM_BR_h_tautau
branching ratio to two leptons in the THDM.
Definition: THDMcache.h:2028
double ip_ex_gg_H_ZZ_qqllnunu_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4152
gslpp::matrix< double > temp7e
Definition: THDMcache.h:249
double Mtau
Definition: THDMcache.h:2941
gslpp::complex B00_MZ2_0_MZ2_mHl2(const double MZ2, const double mHl2) const
Definition: THDMcache.cpp:1440
double ip_ex_gg_H_ZZ_llqq_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:4216
double VBF_H_WW_TH8
Cross section times branching ratio for the process at the LHC with 8 TeV.
Definition: THDMcache.h:2132
gslpp::complex B0_MZ2_0_MZ2_mHl2_cache[3][CacheSize]
Definition: THDMcache.h:2961
gslpp::complex B0p_MZ2_mHh2_0_mA2_cache[4][CacheSize]
Definition: THDMcache.h:3015
double ip_ex_pp_phi_Zga_qqga_CMS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3210
double ip_ex_bb_A_Zh_Zbb_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3198
gslpp::matrix< double > CMS8_pp_H_hh_gagabb
Definition: THDMcache.h:201
double ip_ex_pp_H_hh_gagaWW_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3194
double THoEX_pp_H_hh_bbVV_CMS13
Definition: THDMcache.h:2549
double ip_ex_VBF_H_ZZ_ATLAS8_e(double mass)
Interpolating function for the expected ATLAS upper limit on a vector boson fusion produced scalar re...
Definition: THDMcache.cpp:3213
double ip_ex_pp_H_ZZ_llnunu_CMS13_e(double mass)
Interpolating function for the expected CMS upper limit on a scalar resonance decaying to two bosons...
Definition: THDMcache.cpp:4872
double ip_ex_pp_Hp_tb_ATLAS13_2_e(double mass)
Interpolating function for the expected ATLAS upper limit on a singly charged scalar resonance decayi...
Definition: THDMcache.cpp:6824
gslpp::matrix< double > ATLAS13_pp_Hpm_taunu
ATLAS observed upper cross section limits at 13 TeV, depending on the charged Higgs mass...
Definition: THDMcache.h:277
double ip_ex_gg_H_ZZ_llnunu_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3215
double ip_cs_WtoWH_8(double mass)
Interpolating function for the W associated H production cross section at 8 TeV.
Definition: THDMcache.cpp:2443
double ip_ex_pp_phi_gaga_ATLAS8_cache_e[2][CacheSize]
Definition: THDMcache.h:3091
gslpp::matrix< double > CMS8_gg_phi_gaga_e
Definition: THDMcache.h:206
gslpp::matrix< double > temp20
Definition: THDMcache.h:246
double ip_ex_VBF_H_WW_lnuqq_ATLAS13_cache_e[2][CacheSize]
Definition: THDMcache.h:3186
double interpolate(gslpp::matrix< double > arrayTab, double x)
Linearly interpolates a table with one parameter dimension.
Definition: THDMcache.cpp:6892
double ip_ex_bb_phi_tautau_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a bottom quark produced scalar resonance...
Definition: THDMcache.cpp:2971
double ip_cs_pptottA_13(double mass)
Interpolating function for the top associated A production cross section at 13 TeV.
Definition: THDMcache.cpp:2652
gslpp::complex B0_MZ2_0_mA2_mHh2_cache[4][CacheSize]
Definition: THDMcache.h:2972
gslpp::complex I_HH_D(const double mHh2, const double Ms, const double Mb) const
Definition: THDMcache.cpp:7052
double ip_ex_gg_H_hh_ATLAS8_cache[2][CacheSize]
Definition: THDMcache.h:3112
double ie1(double mass)
Definition: THDMcache.cpp:5304
double ip_ex_gg_H_WW_ATLAS8(double mass)
Interpolating function for the observed ATLAS upper limit on a gluon-gluon produced scalar resonance ...
Definition: THDMcache.cpp:3101
double THoEX_bbF_H_bb_CMS8
Definition: THDMcache.h:2454
gslpp::matrix< double > ATLAS13_gg_phi_Zga_llga_e
Definition: THDMcache.h:222
double ip_ex_VBF_VH_H_ZZ_llll_CMS13_cache[2][CacheSize]
Definition: THDMcache.h:3221
gslpp::complex I_h_U_cache[5][CacheSize]
Definition: THDMcache.h:3345
gslpp::matrix< double > CMS8_pp_Hp_tb_e
Definition: THDMcache.h:272
double ip_csr_ggH_t_8_cache[2][CacheSize]
Definition: THDMcache.h:3082
double THoEX_ggF_A_tautau_ATLAS13
Definition: THDMcache.h:2788
double Br_Htott
Definition: THDMcache.h:2070
gslpp::matrix< double > temp35e
Definition: THDMcache.h:252
double ie24c[2][CacheSize]
Definition: THDMcache.h:3288
gslpp::complex B0_MZ2_mHh2_mHl2_mHl2_cache[4][CacheSize]
Definition: THDMcache.h:2984
gslpp::matrix< double > log_cs_ggA_8
CP-odd Higgs production cross section tables at 8 TeV obtained with HIGLU 4.34, depending on the Higg...
Definition: THDMcache.h:151
double mHp2
Definition: THDMcache.h:2933
double THoEX_bbF_H_tautau_ATLAS13
Definition: THDMcache.h:2467
gslpp::matrix< double > CMS13_pp_H_ZZ_llnunu_e
Definition: THDMcache.h:238
complex sqrt(const complex &z)
double ip_ex_bb_A_Zh_Zbb_ATLAS13(double mass)
Interpolating function for the observed ATLAS upper limit on a bb associated pseudoscalar resonance d...
Definition: THDMcache.cpp:4600